查看系统默认句柄数:
[[email protected] ~]# ulimit -n
65535
[[email protected] ~]#
查看当前系统打开的句柄数
[[email protected] ~]# lsof -n|awk ‘{print $2}‘|sort|uniq -c|sort -nr|more
553 26093
205 22235
175 25323
142 23897
125 1020
113 6857
79 3570
61 30939
58 19726
53 30940
51 3567
50 3566
49 3569
49 30931
48 3568
46 1047
46 10106
36 6633
26 22014
其中第一列是打开的句柄数,第二列是进程ID。
可以根据ID号来查看进程名。
[[email protected] ~]# ps -ef|grep 26093
root 20487 19730 0 21:12 pts/2 00:00:00 grep 26093
root 26093 1 30 2015 ? 134-22:26:50 ./mongod -f /AEApps/mongodb/conf/r2.conf
Linux有硬性限制和软性限制。可以通过ulimit来设定这两个参数。方法如下,以root用户运行以下命令:
# ulimit -HSn 4096
以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄数量。个人觉得最好不要超过4096,毕竟打开的文件句柄数越多响应时间肯定会越慢。设定句柄数量后,系统重启后,又会恢复默认值。如果想永久保存下来,可以修改.bash_profile文件,可以修改 /etc/profile 把上面命令加到最后.