溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux中ulimit命令有什么用

發(fā)布時間:2022-02-16 10:20:18 來源:億速云 閱讀:126 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“Linux中ulimit命令有什么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中ulimit命令有什么用”這篇文章吧。

Linux常用命令ulimit命令 用來限制系統用戶對shell資源的訪問。

Linux中ulimit命令有什么用

ulimit

控制shell程序的資源

補充說明

如果不懂什么意思,下面一段內容可以幫助你理解:

假設有這樣一種情況,當一臺 Linux 主機上同時登陸了 10 個人,在系統資源無限制的情況下,這 10 個用戶同時打開了 500 個文檔,而假設每個文檔的大小有 10M,這時系統的內存資源就會受到巨大的挑戰(zhàn)。

而實際應用的環(huán)境要比這種假設復雜的多,例如在一個嵌入式開發(fā)環(huán)境中,各方面的資源都是非常緊缺的,對于開啟文件描述符的數量,分配堆棧的大 小,CPU 時間,虛擬內存大小,等等,都有非常嚴格的要求。資源的合理限制和分配,不僅僅是保證系統可用性的必要條件,也與系統上軟件運行的性能有著密不可分的聯 系。這時,ulimit 可以起到很大的作用,它是一種簡單并且有效的實現資源限制的方式。

ulimit 用于限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創(chuàng)建的內核文件的大小、進程數據塊的大小、Shell 進程創(chuàng)建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛擬內存。同時,它支持硬資源和軟資源的限制。

作為臨時限制,ulimit 可以作用于通過使用其命令登錄的 shell 會話,在會話終止時便結束限制,并不影響于其他 shell 會話。而對于長期的固定限制,ulimit 命令語句又可以被添加到由登錄 shell 讀取的文件中,作用于特定的 shell 用戶。

語法

 ulimit(選項)

選項

 -a:顯示目前資源限制的設定; -c :設定core文件的最大值,單位為區(qū)塊; -d :程序數據節(jié)區(qū)的最大值,單位為KB; -e 默認進程優(yōu)先級, 值越小優(yōu)先級越高 -f :shell所能建立的最大文件,單位為區(qū)塊; -H:設定資源的硬性限制,也就是管理員所設下的限制; -m :指定可使用內存的上限,單位為KB; -n :指定同一時間最多可開啟的文件數; -p :指定管道緩沖區(qū)的大小,單位512字節(jié); -s :指定堆疊的上限,單位為KB; -S:設定資源的彈性限制; -t :指定CPU使用時間的上限,單位為秒; -u :用戶最多可開啟的程序數目; -v :指定可使用的虛擬內存上限,單位為KB。

實例

 [root@localhost ~]# ulimit -a core file size          (blocks, -c) 0           #core文件的最大值為100 blocks。 data seg size           (kbytes, -d) unlimited   #進程的數據段可以任意大。 scheduling priority             (-e) 0 file size               (blocks, -f) unlimited   #文件可以任意大。 pending signals                 (-i) 98304       #最多有98304個待處理的信號。 max locked memory       (kbytes, -l) 32          #一個任務鎖住的物理內存的最大值為32KB。 max memory size         (kbytes, -m) unlimited   #一個任務的常駐物理內存的最大值。 open files                      (-n) 1024        #一個任務最多可以同時打開1024的文件。 pipe size            (512 bytes, -p) 8           #管道的最大空間為4096字節(jié)。 POSIX message queues     (bytes, -q) 819200      #POSIX的消息隊列的最大值為819200字節(jié)。 real-time priority              (-r) 0 stack size              (kbytes, -s) 10240       #進程的棧的最大值為10240字節(jié)。 cpu time               (seconds, -t) unlimited   #進程使用的CPU時間。 max user processes              (-u) 98304       #當前用戶同時打開的進程(包括線程)的最大個數為98304。 virtual memory          (kbytes, -v) unlimited   #沒有限制進程的最大地址空間。 file locks                      (-x) unlimited   #所能鎖住的文件的最大個數沒有限制。

以上是“Linux中ulimit命令有什么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI