最近在linux上开发的一个c++项目,存在打开的文件句柄数时而递增的现象,当超过服务器设置的单进程最大文件句柄数时出现进程挂死,解决问题迫在眉睫;
若想知道服务器上设置的单进程最大文件句柄数,可通过命令:
ulimit -n
本身这个项目我掐指一算打开的文件句柄数不会超过100,更加坚定有问题,首先查看当前服务器打开的文件句柄数汇总情况:
/usr/sbin/lsof -n | awk '{print $2}'|sort|uniq -c|sort -nr|more
首先根据汇总情况查看你的服务进程占用了多少个文件句柄,数量上是否有所递增的趋势,若发现递增不减的再细致查看该进