比思論壇

標題: open files 参数 [打印本頁]

作者: airarara    時間: 2015-9-9 16:45
標題: open files 参数

Linux系统上默认的open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够。

修改方法:

(1)ulimit -HSn 102400

这只是在当前终端有效,退出之后,open files 又变为默认值。

(2)将ulimit -HSn 102400写到/etc/profile中,因为每次登录终端时,都会自动执行/etc/profile。

(3)令修改open files的数值永久生效,则必须修改配置文件:/etc/security/limits.conf. 在这个文件后加上:

* soft nofile 102400

* hard nofile 102400

这种方法需要重启机器才能生效。

(4)为了让一个程序的open files数目扩大,可以在启动脚本前面加上(1)中的命令。当程序是一个daemon时,可能这种方法无效,没有终端了。



影响open files数值的还有一个内核参数file-max,这是Linuxt系统的总限制。可以通过如下文式查看:

cat /proc/sys/fs/file-max

或者

sysctl -a | grep fs.file-max


对于服务器可以采用如下方法修改file-max:

(1)重启机器后恢复为默认值

echo 34166 > /proc/sys/fs/file-max

或者

sysctl -w "fs.file-max=34166"

(2)修改配置文件/etc/sysctl.conf, 在最后加上一行:

fs.file-max = 34166

然后重启机器后生效。以后永久生效。









歡迎光臨 比思論壇 (http://108.170.5.76/) Powered by Discuz! X2.5