ulimit 用于限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創建的內核文件的大小、進程數據塊的大小、Shell 進程創建文件的大小、內存鎖住的大小、常駐內存集的大小、打開文件描述符的數量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數、Shell 進程所能使用的最大虛擬內存。同時,它支持硬資源和軟資源的限制。
先查看LINUX默認的文件描述符:
# ulimit -n
1024
用命令來增大文件描述符,
# ulimit -HSn 65536
# vim /etc/profile 或者: vim /root/.bash_profile
ulimit -HSn 65536
# source /etc/profile
注:limit的一些選項:
:-H 設置硬資源限制,一旦設置不能增加。 ulimit – Hs 64;限制硬資源,線程棧大小為 64K。
:-S 設置軟資源限制,設置后可以增加,但是不能超過硬資源設置。 ulimit – Sn 32;限制軟資源,32 個文件描述符。
:-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。
不含病毒。www.avast.com |
留言列表