http://hi.baidu.com/iris_zero ....../hmilyjch

修改linux最大打开文件数

上一篇 / 下一篇  2009-04-10 09:18:58 / 天气: 大风 / 个人分类:test

来自:http://linux.chinaunix.net/bbs/viewthread.php?tid=300450

问题:用户想让一个用户能够打开的文件数超过默认的设置
解决方案:这是一个实例显示了如何让用户 userx能够同时打开16000 个文件
1. 修改 /proc/sys/fs/file-max 的值为所有用户能够打开的文件数,(或者在/etc/sysctl.conf文件中加入一行 fs.file-max = 200000 ,然后在命令行中输入 :sysctl –p ,使其生效)。
2. 编辑 /etc/security/limits.conf: 文件,插入一行:userx hard nofile 16000
3. 用userx身份登录,在命令行中敲入 ulimit -n 16000
4. 为了让设置永久生效,编辑用户的登陆环境文件 /home/userx/.bashrc ,插入一行:ulimit -n 16000

对于RedHat 8&9 需要另外做如下设置
5.在 /etc/pam.d/login 文件中加入如下一行
session required /lib/security/pam_limits.so
或者是
session required pam_limits.so


以上是在tty模式下的修改,也就是说你在服务器面前启动程序时有效,如果你是通过ssh远程启动程序,要添加以下步骤。
如果你的openssh版本高于3.1,要进行下一步(openssh3.1以上都需要,如果不进行这一步的话,通过ssh连接的用户还是无法修改能够打开的最大文件数),如果openssh版本是3.1及其以下版本,跳过6,不要加入,否则openssh会起不来。
强烈建议升级openssh 到 3.9p1 ,否则 UsePAM 有可能使用不了。
6. 在 /etc/ssh/sshd_config 中加入一行
UsePAM yes

7. 确认 /etc/pam.d/sshd 中有
session required /lib/security/pam_limits.so
或者
session required pam_limits.so

重新启动sshd服务
service sshd restart


TAG:

 

评分:0

我来说两句

Open Toolbar