我正在尝试使用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"
我已经终止了所有播客并尝试重新启动机器,但这并不能解决问题。我不是Linux专家,所以我想知道如何找到所有打开的文件并关闭它们?

最佳答案

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

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

这将给你一个打开的FD计数和进程的pid的排序列表。然后你可以查看每个进程/
ps -p <pid>

如果主要的猪是docker/kubernetes,那么我建议遵循caesarxuchao引用的issue

关于linux - 由于系统中打开的文件过多,导致Kubernetes无法启动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37428458/

10-16 16:09