鍍金池/ 問答/Java  Linux  HTML/ java進(jìn)程打開的文件句柄數(shù)異常

java進(jìn)程打開的文件句柄數(shù)異常

最近發(fā)現(xiàn)程序有點(diǎn)異常,看了一下打開的句柄數(shù)

[root@dev-test-server ~]# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|head -10
 152158 7076
  21344 11305
   2338 30006
   2096 938
....

我的java程序進(jìn)程ID為7076,可以看到打開15W個(gè)文件句柄
然而我看了下系統(tǒng)設(shè)定的值

系統(tǒng)所有進(jìn)程一共可以打開的文件數(shù)量
[root@dev-test-server ~]# cat /proc/sys/fs/file-max 
587860
單個(gè)進(jìn)程可以打開的文件句柄數(shù)量
[root@dev-test-server ~]# ulimit -n
1024

可以看到單個(gè)進(jìn)程打開的句柄明顯超過了限制
不知是哪里理解錯(cuò)了,現(xiàn)在很迷惑,有大神來解釋下嗎

回答
編輯回答
淚染裳

你應(yīng)該用 lsof -n -p <pid> 查看進(jìn)程的打開文件,并用 cat /proc/<pid>/limits 查看限制數(shù)。

2017年7月2日 16:37