放開了去的 ulimit
- 放開了去的 ulimit
- ulimit簡介
- 臨時修改打開文件數目
- 永久修改
- 系統總打開句柄限制
- 更多信息
放開了去的 ulimit
ulimit簡介
對于高并發或者頻繁讀寫文件的應用程序而言,有時可能需要修改系統能夠打開的最多文件句柄數,否則就可能會出現too many open files的錯誤。
而句柄數分為系統總限制和單進程限制。可以使用ulimit -n
來查看系統對單個進程的限制及可以打開的文件數目。
或者執行ulimit -a
來查看所有的詳細信息。
臨時修改打開文件數目
對于臨時的修改而言,可以終端中輸入下面的命令,將該值調整為65536.
$ ulimit -HSn 65535
上面的命令將open files修改為65535,不過退出當前shell后即失效。
H和S分別表示硬限制和軟限制
永久修改
如果希望永久修改,需要修改配置文件 /etc/security/limits.conf
,修改后需要重新啟動系統。
* soft nofile 65535
* hard nofile 65535
其中的*表示所有的用戶,soft和hard分別表示軟硬限制,nofile表示能夠打開的最大文件數,第四列為具體的值。其中具體的值有一個上次,在文件/proc/sys/fs/nr_open
,默認為1048576,完全夠用了。
系統總打開句柄限制
上面討論的均為單個線程的限制,屬于線程級別的,系統級別的限制在文件/proc/sys/fs/file-max
文件中。
修改這個文件也是臨時生效的,重啟失效,如果希望永久生效,需要修改下面文件:
/etc/sysctl.conf
可以添加下面這行
fs.file-max = 6815744
然后運行sysctl -p
或者重啟生效。可以通過lsof -p PID
來查看單個進程打開的文件句柄
更多信息
Hi,XDJM們,更多信息歡迎移步我的主頁、CSDN或微信公眾號letsProgramming.
- 🐱 github
- 🏠 Homepage https://shaoguangleo.github.io
- CSDN CSDN http://blog.csdn.net/shaoguangleo
- 微信公眾號:letsProgramming