有些生產環境的服務不能隨便重啟,最大檔案開啟數受到限制。本文利用prlimit動態修改正在執行程序最大檔案開啟數。
本文以修改nginx最大檔案開啟數為例。
# 當前系統最大檔案開啟數
[root@vm-centos750221 ~]
# ulimit -a|grep open
open files (-n) 2048
# 檢視nginx的pid
[root@vm-centos750221 ~]
# ps -ef|grep nginx
nobody 22183 32546 0 09:30 ? 00:00:00 nginx: worker process
nobody 22184 32546 0 09:30 ? 00:00:00 nginx: worker process
root 32546 1 0 9月03 ? 00:00:00 nginx: master process ../sbin/nginx
# 檢視nginx的最大檔案開啟數
[root@vm-centos750221 ~]
# cat /proc/32546/limits |grep open
max open files 2048 65536 files
# 檢視指定程序限制
[root@vm-centos750221 ~]
# prlimit --pid 32546
resource description soft hard units
as address space limit unlimited unlimited 位元組
core max core file size 0 unlimited 塊
cpu cpu time unlimited unlimited 秒數
data max data size unlimited unlimited 位元組
fsize max file size unlimited unlimited 塊
locks max number of file locks held unlimited unlimited
memlock max locked-in-memory address space 65536 65536 位元組
msgqueue max bytes in posix mqueues 819200 819200 位元組
nice max nice prio allowed to raise 0 0
nofile max number of open files 65536 65536
nproc max number of processes 63458 63458
rss max resident set size unlimited unlimited 頁數
rtprio max real-time priority 0 0
rttime timeout
for real-time tasks unlimited unlimited 毫秒數
sigpending max number of pending signals 63458 63458
stack max stack size 8388608 unlimited 位元組
# 修改指定程序的最大檔案開啟數
[root@vm-centos750221 ~]
# prlimit --pid 32546 --nofile=65535
# 驗證是否成功
[root@vm-centos750221 ~]
# prlimit --pid 32546 |grep nofile
nofile max number of open files 65535 65535
mac修改程序能開啟的最大檔案數
mac程序能開啟的最大檔案數,預設只有256 ulimit n 256這會導致go的服務端執行的時候,如果同時連線的客戶端太多,會報錯 解決辦法 mac修改程序能開啟的最大檔案數 1.su 切換到root賬戶 launchctl limit maxfiles 99999 99999 ulimit n...
最大檔案開啟數
有些機器上,服務的tcp連線特別多,可能上100k 這時如果系統沒有優化好,就會出現too many open file的報錯 file max是核心可分配的最大檔案數 一般系統預設核心可分配的最大檔案數是記憶體 kb為單位 的10 左右 下面就是乙個4g的機器的資訊。cat proc sys fs...
Linux最大檔案開啟數
在linux下有時會遇到socket file can t open so many files的問題。其實linux是有檔案控制代碼限制的,而且linux預設一般都是1024 阿里雲主機預設是65535 在生產環境中很容易到達這個值,因此這裡就會成為系統的瓶頸。使用ulimit a 或者 ulim...