Ulimit

為什麼 ulimit -n 修改硬限制

  • October 27, 2018

檢查目前 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內置在bashshell 中的,那麼既不指定-H-S設置限制時指定將設置硬資源限制和軟資源限制。

這記錄在bash手冊中:

ulimit [-HSabcdefiklmnpqrstuvxPT [limit]]

在允許這種控制的系統上,提供對 shell 可用資源和由它啟動的程序的控制。和選項指定為給定資源設置硬限製或軟限制-H-S硬限制一旦設置就不能由非 root 使用者增加;軟限制可以增加到硬限制的值。 如果既未指定-H也未-S指定,則同時設置軟限制和硬限制。

shell 在其ksh93手冊中有類似的措辭,

如果未指定HnorS選項,則限制適用於兩者。

…並且zshanddash外殼在設置限制方面也表現相同。

引用自:https://unix.stackexchange.com/questions/478060