ulimit [-SHacdfltu] [配額數] 選項與參數: -H :hard limit ,嚴格的設定,不能超過這個設定值; -S :soft limit ,警告的設定,可以超過這個設定值,但是超過則有警告訊息。 通常設定上, soft會比hard小,例如soft設定為90而hard設定為100,那麼你可以使用到95(因為沒有 超過100),但介於90~100之間時,系統會有警告訊息!
-a :後面不接任何選項與參數,可列出所有的限制額度;
-c :當某些程式發生錯誤時,系統會將該程式在記憶體中的資訊寫成檔案(除錯用),這種檔案被稱為核心 檔案(core file)。此設定限制每個核心檔案的最大容量。
-f :限制可以建立的最大檔案容量單位為Kbytes
-d :程序可以使用的最大斷裂記憶體(segment)容量;
-l :可用於鎖定(lock)的記憶體量
-t :可使用的最大 CPU 時間 (單位為秒)
-u :單一使用者可以使用的最大程序(process)數量。
例:
列出目前身份的限制資料
mnw@ap:/$ ulimit -a core file size (blocks, -c) 0 <<---0代表沒有限制 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited <<---可建立的單一檔案大小 pending signals (-i) 15924 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 <<---可以同時開啟的檔案數量 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15924 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
現在單一檔案容量上限10MB
mnw@ap:/$ ulimit -f 10240
mnw@ap:/$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) 10240 <<---10240 Kbyes=10 MB pending signals (-i) 15924 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15924 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
mnw@ap:/$ dd if=/dev/zero of=123 bs=1M count=20
dd: opening `123': Permission denied <<---要建立20MB的檔案,失敗了!