Ulimit
為什麼 ulimit -n 修改硬限制
檢查目前 shell 的打開文件(軟)限制
/home/pkaramol $ ulimit -n 1024
檢查硬限制
/home/pkaramol $ ulimit -n -H 1048576
將(軟)限制設置為硬限制值並驗證它是否有效:
/home/pkaramol $ ulimit -n hard /home/pkaramol $ ulimit -n 1048576
問題是為什麼下面的命令會同時修改硬 限制和軟限制,因為當沒有提供開關時,預設是在軟限制上進行操作
/home/pkaramol $ ulimit -n 2048 /home/pkaramol $ ulimit -n 2048 /home/pkaramol $ ulimit -n -H 2048
硬限制降低到什麼時候
2048
?
如果這是
ulimit
內置在bash
shell 中的,那麼既不指定-H
或-S
在設置限制時指定將設置硬資源限制和軟資源限制。這記錄在
bash
手冊中:
ulimit [-HSabcdefiklmnpqrstuvxPT [limit]]
在允許這種控制的系統上,提供對 shell 可用資源和由它啟動的程序的控制。和選項指定為給定資源設置硬限製或軟限制
-H
。-S
硬限制一旦設置就不能由非 root 使用者增加;軟限制可以增加到硬限制的值。 如果既未指定-H
也未-S
指定,則同時設置軟限制和硬限制。shell 在其
ksh93
手冊中有類似的措辭,如果未指定
H
norS
選項,則限制適用於兩者。…並且
zsh
anddash
外殼在設置限制方面也表現相同。