一尘不染

由于系统中打开的文件过多,导致Kubernetes无法启动

docker

我正在尝试使用Kubernetes创建一堆Pod,服务和部署,但是在运行kubectl describe命令时仍然遇到以下错误。

for "POD" with RunContainerError: "runContainer: API error (500): Cannot start container bbdb58770a848733bf7130b1b230d809fcec3062b2b16748c5e4a8b12cc0533a: [8] System error: too many open files in system\n"

我已经终止了所有Pod,并尝试重新启动计算机,但这不能解决问题。我不是Linux专家,所以我想知道如何找到所有打开的文件并关闭它们?


阅读 396

收藏
2020-06-17

共1个答案

一尘不染

您可以通过运行以下命令来确认哪个进程正在占用文件描述符:

lsof | awk '{print $2}' | sort | uniq -c | sort -n

这将为您提供打开的FD计数的排序列表以及该过程的pid。然后,您可以查找每个带有w /

ps -p <pid>

如果主要猪是docker /
kubernetes,那么我建议遵循caesarxuchao提到的问题

2020-06-17