網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

ulimit命令詳解|linux

欄目: IT科技 / 發佈於: / 人氣:1.93W

1、ulimit命令簡介:

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

舉例:

在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”,儲存重啓系統就可以了!
1]在RH8的環境檔案/etc/profile中,我們可以看到系統是如何配置ulimit的:
#grep ulimit /etc/profile
ulimit -S -c 0 > /dev/null 2>&1
這條語句設定了對軟件資源和對core檔案大小的設定。

如果我們想要對由shell創建的檔案大小作些限制,如:
#ll h
-rw-r--r-- 1 lee lee 150062 7月 22 02:39 h
#ulimit -f 100 #設定創建檔案的最大塊(一塊=512字節)
#cat h>newh
File size limit exceeded
#ll newh
-rw-r--r-- 1 lee lee 51200 11月 8 11:47 newh
檔案h的大小是150062字節,而我們設定的創建檔案的大小是512字節x100塊=51200字節
當然系統就會根據你的設定生成了51200字節的newh檔案。

linux ulimit命令詳解