---查看系统默认的最大文件句柄数,系统默认是1024
# ulimit -n
1024----查看当前进程打开了多少句柄数
# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
131 24204
57 24244
57 24231 ........
其中第一列是打开的句柄数,第二列是进程ID。
可以根据ID号来查看进程名。
# ps aef|grep 24204
nginx 24204 24162 99 16:15 ? 00:24:25
/usr/local/nginx/sbin/nginx -s
myivr出现core文件,发现在写录音文件的时候出问题。具体原因还不清楚,暂时认定为超过了单个进程打开的最大句柄数(默认值为1024)。
2011-5-9 16:50 myivr 3226 121
#lsof -p 3226
用这个命令查看进程3226打开的文件信息,发现所有的转换wav文件都没有关闭。
确认是这个问题,在729ToWav函数中只关闭了729文件,没有关闭wav文件。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21813517/viewspace-1220990/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21813517/viewspace-1220990/
本文介绍了一种排查系统中进程句柄数超出限制的方法,包括检查系统默认最大句柄数、查询特定进程已打开句柄数的具体步骤,并通过实例展示了如何定位到问题进程及分析可能的原因。
765

被折叠的 条评论
为什么被折叠?



