RHEL修改最大文件打开数,关于epoll socket Too many open files问题的解决
在做對LINUX服務(wù)器進行并發(fā)壓力測試的時候,當并發(fā)數(shù)超過1024時,系統(tǒng)提示:Too many open files,導(dǎo)致此問題的原因是LINUX系統(tǒng)限制了文件最大打開數(shù),如下是解決此問題的辦法.
RHEL下增大文件描述符的修改方法:
1. 查看當前設(shè)置
ulimit -n(默認是1024)
2. 查看系統(tǒng)可接受的最大打開文件數(shù)(一般默認已足夠,不用修改)
# cat /proc/sys/fs/file-max(默認可能是372998,已足夠)
如果小于你期望的值,可以改大:
#?echo 327998 >?/proc/sys/fs/file-max或者寫入 /etc/sysctl.conf 中,以便重啟也能生效:
fs.file-max = 327998
3. 修改/etc/security/limits.conf文件,設(shè)置用戶最大打開文件數(shù)
#<domain>????? <type> <item>???????? <value>* - nofile 2048 (添加這一行)
這樣即設(shè)置系統(tǒng)每個用戶的最大打開文件數(shù)為2048。 注:要重啟操作系統(tǒng)后才會生效修改。如想立即生效需要執(zhí)行:
ulimit -n 2048 。但此命令執(zhí)行后,如果重啟操作系統(tǒng)會失效。如想使重啟后不失效則要按如上辦法修改文件。
注意 nofile 參數(shù)在 type 類型上有2個可能的選項:hard 和 soft ,這兩個值都需要設(shè)置,“-”代表同時設(shè)置這2個值為后面的數(shù)字。
hard limit 只是作為 soft limit 的上限,soft limit 才是你設(shè)置的系統(tǒng)當前限制。當你設(shè)置 hard limit 后,你以后設(shè)置的 soft limit 的值就只能小于 hard limit 。普通用戶可以降低 hard limit 的值,但是不能提高它,只有 root 用戶才能提高 hard limit。
4. 退出shell登陸,重新登陸一次即生效(運行ulimit -n 檢查)
5. 已經(jīng)啟動的進程,可能需要關(guān)閉后重新啟動才生效。
另:對于大量使用tcp連接的應(yīng)用來說還需要進行進一步優(yōu)化,可參考文章:http://www.blogjava.net/fingki/archive/2008/10/22/236000.html
轉(zhuǎn)載于:https://www.cnblogs.com/zhuhongbao/archive/2011/06/03/2070507.html
總結(jié)
以上是生活随笔為你收集整理的RHEL修改最大文件打开数,关于epoll socket Too many open files问题的解决的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL之游标详解
- 下一篇: 自我小结--工作、学习、编码