我正在尝试使用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专家,所以我只是想知道如何找到所有打开的文件并关闭它们?
答案 0 :(得分:1)
您可以通过运行确认哪个进程占用文件描述符:
lsof | awk '{print $2}' | sort | uniq -c | sort -n
这将为您提供一个带有进程pid的开放FD计数的排序列表。然后,您可以使用
查找每个流程ps -p <pid>
如果主猪是docker / kubernetes,那么我建议跟随caesarxuchao引用的issue。