1、通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:
ulimit -a
open files那一行就代表系统目前允许单个进程打开的最大句柄数,linux一般默认1024,,windows默认的句柄数为6万。所以linux操作系统更容易出现句柄数不够用的情况。
2、当出现linux句柄数满的时候,使用如下命令查询句柄数说被哪个进程占了。如下:
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
然后运行,定位是否存在程序缺陷: (其中12281换为上一个步骤查询到的pid)
ps -ef|grep 12281