【转载】linux下查看系统进程占用的句柄数

---查看系统默认的最大文件句柄数,系统默认是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文件。

导航