感谢支持
我们一直在努力

修改Linux文件句柄数限制

因为Linux系统里都是以文件来表示的,所以在做搞并发的web系统时,修改文件句柄限制那是必须的。


查看某个进程使用了的文件句柄数


# sudo ps -ef | grep java


root      1663     1  0 02:37 ?        00:00:43 /opt/bitnami/java/bin/java


从结果中可得知进程的pid,然后根据pid查看该进程当前使用的文件句柄数


#sudo ls /proc/1663/fd | wc -l


1022


发现句柄数一直就停留在1022,同时top查看发现load持续增高。于是先查看了下当前进程的句柄数限制。


#sudo cat /proc/1663/limits | grep “files”


Max open files            1024                1024                files


发现限制卡在这了,于是修改/etc/sysctl.conf文件,添加一行如下:


fs.file-max=30720


保存。并执行


#sudo sysctl -p


然后再查看就发现已经改过来了。


Google发现linux系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。


修改系统级的:


#echo “30720” > /proc/sys/fs/file-max


修改用户级的:


#sudo vi /etc/security/limits.conf


增加如下行:


* soft nofile 2048


* hard nofile 32768


星号表示任何用户,soft/hard表示软限制、硬限制。修改/etc/pam.d/login文件指定使用PAM


session required /lib/security/pam_limits.so


不过需要注意的是系统是32位还是64位,若是64位的那就是/lib64/security/pam_limits.so


上面的修改后,reboot,再次查看


#ulimit -n


30720


修改成功。

赞(0) 打赏
转载请注明出处:服务器评测 » 修改Linux文件句柄数限制
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏