一、ulimit 說明:shell
ulimit 用於shell啓動進程所佔用的資源session
二、參數說明:ide
選項 [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。 |
三、根據實際應用設置優化:優化
設置當前終端生效ui
ulimit -SHn 65536spa
全局設置,永久生效線程
在/etc/pam.d/login 添加pam_limits.so進程
echo 「 session required /lib/security/pam_limits.so」 >>/etc/pam.d/login內存
修改/etc/security/limits.conf,在最後加入下面兩行ci
* soft nofile 65536
* hard nofile 65536
注:*表示全部用戶,也能夠針對某個用戶設置