修改Linux的最大文件句柄数限制的方法:

      1)ulimit -n 65535  

            在当前session有效,用户退出或者系统重新后恢复默认值

      2)修改profile文件:在profile文件中添加:ulimit -n 65535 

           只对当个用户有效

      3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit -a命令无法显示)

  1. * soft nofile 32768 #限制单个进程最大文件句柄数(到达此限制时系统报警)  

  2. * hard nofile 65536 #限制单个进程最大文件句柄数(到达此限制时系统报错)  

     4)修改文件:/etc/sysctl.conf。在文件中添加:

  1. fs.file-max=655350 #限制整个系统最大文件句柄数  

运行命令:/sbin/sysctl -p 使配置生效


---查看当前进程打开了多少句柄数

# lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more


Linux硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:

# ulimit -HSn 4096

以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后.