linux缺省打开文件数限制在1024,这在服务器程序中显然太小,需进行修改。
直接用ulimit -n 65535,但重启后消失,新shell也没有修改。
如何修改打开文件数限制并重启后生效呢?
1.修改limits.conf
$ sudo vi /etc/security/limits.conf
在文件尾部增加
* hard nofile 65535
* soft nofile 65535
保存文件
注:*表示所有用户名。
2.将/etc/pam.d目录下的pam_limits.so的注释去掉。包括su,sudo等。通过grep查找。
$ cd /etc/pam.d
$ grep pam_limits.so *
atd:session required pam_limits.so
cron:session required pam_limits.so
gdm:session required pam_limits.so
gdm-autologin:session required pam_limits.so
login:session required pam_limits.so
sshd:session required pam_limits.so
su:session required pam_limits.so
sudo:session required pam_limits.so
修改存在#在文件,把#去掉
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
$ sudo vi su
去掉#号
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
# session required pam_limits.so
重启系统
3.查看ulimit -a
ulimit -n是查看打开的文件数的。
$ ulimit -n
65535