[值得实践]centos修改用户进城数和句柄数,修改linux的最大文件句柄数限制 (Too many open files)。

jackxiang 2013-6-24 21:33 | |
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
其中第一列是打开的句柄数,第二列是进程ID。可以根据ID号来查看进程名:
ps aef|grep 24204

是当前生效还是全局,http://www.linuxde.net/2013/03/13045.html

分析这段代码可以知道先读/etc/security/limits.conf,如果/etc/security/limits.d/目录下还有配置文件的话,也读进来,一起分析。这就意味/etc/security/limits.d/里面的文件里面的配置会覆盖/etc/security/limits.conf的配置。


  一般在/etc/security/limits.conf 中修改最大打开文件数和进程数,如:
    * soft noproc 102400
    * hard noproc 102400
    * soft nofile 102400
    * hard nofile 102400
    但是在centos 6.3下,方法不一样了
    首先在/etc/security/limits.conf中修改最大文件数和进程数
    *   soft   nofile   102400
    
    *   hard  nofile   102400
  
    然后在/etc/security/limits.d/90-nproc.conf中修改最大文件数和进程数
    *   soft   nproc   102400
    *   hard  nproc   102400
  


linux 打开文件句柄时可能出现“Too many open files”的提示,可以修改linux的最大文件句柄数限制:
1)ulimit -n 65535  
    在当前session有效,用户退出或者系统重新后恢复默认值

2)修改profile文件:在profile文件中添加:ulimit -n 65535  
   只对当个用户有效

3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit -a命令无法显示)
  * soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)  
  * hard nofile 65536  

    使用通配符*表示所有用户,*号可以换成具体的用户名或者用户组的名称。
    这个文件里的限制对root以外的用户在新登陆是立即生效,不用reboot。
    soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
    nofile - 打开文件的最大数目, noproc - 进程的最大数目

4)修改文件:/etc/sysctl.conf。在文件中添加:
    fs.file-max=655350 #限制整个系统最大文件句柄数  
    运行命令:/sbin/sysctl -p 使配置生效

来自:http://blog.csdn.net/chid/article/details/8812746

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6482/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2022-5-18 00:24
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]