日期:2014-05-16  浏览次数:20758 次

linux下查看程序允许打开的最大文件描述符
服务器默认的文件描述符是1024个(linux),查看方式是执行ulimit -n命令。

对于高负载高连接的服务器来说,1024远远不够,至于修改方式,这里就不在赘述了,随便上网一搜就大把大把的文章介绍。

蚊子这篇要说的是如何查看一个进程能打开的最大文件描述符。

不知到各位SA们有没有过这种困惑,系统的文件描述符,无论是软调整过了,还是修改配置文件硬调整过了,可对于应用程序来讲,是不是真正生效了呢?

这里还是有办法知道的,方法就是

    cat /proc/PID/limists | grep “Max open files”

举例来说吧。

在文件的服务器上运行着

    18452 ?        Ss     0:00 nginx: master process /usr/local/nginx/sbin/nginx
    28952 ?        S      0:01 nginx: worker process    
    28954 ?        S      0:01 nginx: worker process    

可以看到nginx前面的进程id,下面将PID替换成实际的进程id来看看结果。

    # cat /proc/28952/limits |grep "Max open files"

    Max open files            65536                65536                files 

由此得知,nginx的28952这个进程可以最多打开65536个文件。

通过以上方法,就能知道实际对于文件描述符的修改是否生效了。是不是很简单。
注意:当你修改了文件最大描述符,必须重新启动服务。

? 2011, 深夜的蚊子. 版权所有. 如转载,请注明:转载自 蚊子空间站[http://www.wenzizone.com]