unlimit 用法

1,說明:
ulimit用於shell啓動進程所佔用的資源.
2,類別:
shell內建命令
3,語法格式:
ulimit [-acdfHlmnpsStvw] [size]
4,參數介紹:
-H 設置硬件資源限制.
-S 設置軟件資源限制.
-a 顯示當前所有的資源限制.
-c size:設置core文件的最大值.單位:blocks
-d size:設置數據段的最大值.單位:kbytes
-f size:設置創建文件的最大值.單位:blocks
-l size:設置在內存中鎖定進程的最大值.單位:kbytes
-m size:設置可以使用的常駐內存的最大值.單位:kbytes
-n size:設置內核可以同時打開的文件描述符的最大值.單位:n
-p size:設置管道緩衝區的最大值.單位:kbytes
-s size:設置堆棧的最大值.單位:kbytes
-t size:設置CPU使用時間的最大上限.單位:seconds
-v size:設置虛擬內存的最大值.單位:kbytes
5.舉例
在Linux下寫程序的時候,如果程序比較大,經常會遇到“段錯誤”(segmentation fault)這樣的問題,這主要就是由於Linux系統初始的堆棧大小(stack size)太小的緣故,一般爲10M。我一般把stack size設置成256M,這樣就沒有段錯誤了!命令爲:
ulimit   -s 262140
如果要系統自動記住這個配置,就編輯/etc/profile文件,在 “ulimit -S -c 0 > /dev/null 2>&1”行下,添加“ulimit   -s 262140”,保存重啓系統就可以了!
 
 
選項 [options] 含義 例子
-H 設置硬資源限制,一旦設置不能增加。 ulimit – Hs 64;限制硬資源,線程棧大小爲 64K。
-S 設置軟資源限制,設置後可以增加,但是不能超過硬資源設置。 ulimit – Sn 32;限制軟資源,32 個文件描述符。
-a 顯示當前所有的 limit 信息。 ulimit – a;顯示當前所有的 limit 信息。
-c 最大的 core 文件的大小, 以 blocks 爲單位。 ulimit – c unlimited; 對生成的 core 文件的大小不進行限制。
-d 進程最大的數據段的大小,以 Kbytes 爲單位。 ulimit -d unlimited;對進程的數據段大小不進行限制。
-f 進程可以創建文件的最大值,以 blocks 爲單位。 ulimit – f 2048;限制進程可以創建的最大文件大小爲 2048 blocks。
-l 最大可加鎖內存大小,以 Kbytes 爲單位。 ulimit – l 32;限制最大可加鎖內存大小爲 32 Kbytes。
-m 最大內存大小,以 Kbytes 爲單位。 ulimit – m unlimited;對最大內存不進行限制。
-n 可以打開最大文件描述符的數量。 ulimit – n 128;限制最大可以使用 128 個文件描述符。
-p 管道緩衝區的大小,以 Kbytes 爲單位。 ulimit – p 512;限制管道緩衝區的大小爲 512 Kbytes。
-s 線程棧大小,以 Kbytes 爲單位。 ulimit – s 512;限制線程棧的大小爲 512 Kbytes。
-t 最大的 CPU 佔用時間,以秒爲單位。 ulimit – t unlimited;對最大的 CPU 佔用時間不進行限制。
-u 用戶最大可用的進程數。 ulimit – u 64;限制用戶最多可以使用 64 個進程。
-v 進程最大可用的虛擬內存,以 Kbytes 爲單位。 ulimit – v 200000;限制最大可用的虛擬內存爲 200000 Kbytes。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章