知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

修改Linux文件句柄数限制

发布时间:2014-09-05 16:20:28作者:知识屋


因为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系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。 
修改系统级的:  www.zhishiwu.com
#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 
修改成功。
 
 

 
作者 berdy
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜