linux系統(tǒng)下ulimit命令是什么呢?下面是ulimit命令的具體介紹:
1、ulimit命令簡介:
ulimit命令是一個計算機(jī)命令,用于shell啟動進(jìn)程所占用的資源,可用于修改系統(tǒng)資源限制。
2、類別:
shell內(nèi)建命令
3、語法格式:
ulimit [-acdfHlmnpsStvw] [size]
4、參數(shù)介紹:
-H 設(shè)置硬件資源限制
-S 設(shè)置軟件資源限制
-a 顯示當(dāng)前所有的資源限制
-c size:設(shè)置core文件的最大值.單位:blocks
-d size:設(shè)置數(shù)據(jù)段的最大值.單位:kbytes
-f size:設(shè)置創(chuàng)建文件的最大值.單位:blocks
-l size:設(shè)置在內(nèi)存中鎖定進(jìn)程的最大值.單位:kbytes
-m size:設(shè)置可以使用的常駐內(nèi)存的最大值.單位:kbytes
-n size:設(shè)置內(nèi)核可以同時打開的文件描述符的最大值.單位:n
-p size:設(shè)置管道緩沖區(qū)的最大值.單位:kbytes
-s size:設(shè)置堆棧的最大值.單位:kbytes
-t size:設(shè)置CPU使用時間的最大上限.單位:seconds
-v size:設(shè)置虛擬內(nèi)存的最大值.單位:kbytes
舉例:
在Linux下寫程序的時候,如果程序比較大,經(jīng)常會遇到“段錯誤”(segmentation fault)這樣的問題,這主要就是由于Linux系統(tǒng)初始的堆棧大?。╯tack size)太小的緣故,一般為10M。我一般把stack size設(shè)置成256M,這樣就沒有段錯誤了!命令為:
ulimit -s 262140
如果要系統(tǒng)自動記住這個配置,就編輯/etc/profile文件,在 “ulimit -S -c 0 > /dev/null 2>&1”行下,添加“ulimit -s 262140”,保存重啟系統(tǒng)就可以了!
1]在RH8的環(huán)境文件/etc/profile中,我們可以看到系統(tǒng)是如何配置ulimit的:
#grep ulimit /etc/profile
ulimit -S -c 0 > /dev/null 2>&1
這條語句設(shè)置了對軟件資源和對core文件大小的設(shè)置。
如果我們想要對由shell創(chuàng)建的文件大小作些限制,如:
#ll h
-rw-r--r-- 1 lee lee 150062 7月 22 02:39 h
#ulimit -f 100 #設(shè)置創(chuàng)建文件的最大塊(一塊=512字節(jié))
#cat h>newh
File size limit exceeded
#ll newh
-rw-r--r-- 1 lee lee 51200 11月 8 11:47 newh
文件h的大小是150062字節(jié),而我們設(shè)定的創(chuàng)建文件的大小是512字節(jié)x100塊=51200字節(jié)
當(dāng)然系統(tǒng)就會根據(jù)你的設(shè)置生成了51200字節(jié)的newh文件。
以上就是小編今天的分享了,希望可以幫助到大家。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com