最近测试服务器的 websocket 总是主动断开导致 client 报 1006 我们怀疑是 file descriptor 的数量超了 现在服务器的 ulimits -n 设置成了 100001 但是 lsof | wc -l 中显示有 20w 以上的结果 让人感觉非常疑惑 求助各位大佬能帮忙答疑解惑了
1
x1596357 2022-01-14 18:25:37 +08:00 via iPhone
其他用户的加在一起?
|
2
richarddingcn OP @x1596357 不是 hard limit 是 100001 我查到原因了 lsof 的结果还有内存中的文件数量 超过 hard limit 正常
|
3
hahahahahahahah 2022-01-14 21:15:51 +08:00 via iPhone
losf 命令虽然作用是"list open files",但用 lsof | wc -l 统计打开文件数上非常不准确。主要原因是:
某些情况下,一行可能显示的是线程,而不是进程,对于多线程的情况,就会误以为一个文件被重复打开了很多次 子进程会共享 file handler |