我一直java.io.IOException: Too many open files
在运行 Kafka 实例并使用一个具有 1000 个分区的主题,因此我开始调查我的 ec2 vm 中的文件描述符限制。我无法理解 Centos 7 机器上打开文件的确切限制是什么,因为以下所有命令都会产生不同的结果。命令是:
ulimit -a
: 打开文件 1024lsof | wc -l
: 298280cat /proc/sys/fs/file-max
: 758881(与 一致/proc/sys/fs/file-nr
)
如果实际限制是最后一个命令产生的限制,那么我远低于它(lsof | wc -l
:298280)。但如果是这种情况,ulimit
命令的输出对我来说很不清楚,因为我远远高于 1024 个打开的文件。
根据官方文档,在 Centos 中检查文件描述符的最佳方法是/proc/sys/fs/file-max
文件,但是这些命令之间是否存在所有这些看似“不一致”的地方?