首頁 > 軟體

解除Linux最大進程數和最大檔案控制代碼開啟數限制

2020-06-16 17:21:47

ulimit用於shell啟動進程所佔用的資源

1、語法格式:
ulimit [-acdfHlmnpsStvw] [size]

2、引數介紹:
-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
-u number:設定使用者最大進程數 (max user processes)

3、Linux對於每個使用者,系統限制其最大進程數。為提高效能,可以根據裝置資源情況,設定各linux 使用者的最大進程數,下面我把某linux使用者的最大進程數設為10000個:
ulimit -u 10000

4、對於需要做許多 socket 連線並使它們處於開啟狀態的 Java 應用程式而言,最好通過使用 ulimit -n xx 修改每個進程可開啟的檔案數,預設值是 1024。將每個進程可以開啟的檔案數目加大到4096,預設為1024。
ulimit -n 4096

5、其他建議設定成無限制(unlimited)的一些重要設定是:
資料段長度:ulimit -d unlimited
最大記憶體大小:ulimit -m unlimited
堆疊大小:ulimit -s unlimited
CPU 時間:ulimit -t unlimited
虛擬記憶體:ulimit -v unlimited

6、解除 Linux 系統的最大進程數和最大檔案開啟數限制:

1)vi /etc/security/limits.conf,新增如下的行

*   soft noproc   65535  
*   hard noproc   65535  
*   soft nofile   65535  
*   hard nofile   65535

說明:* 代表針對所有使用者
noproc 是代表最大進程數
nofile 是代表最大檔案開啟數

2)、修改所有 linux 使用者的環境變數檔案:

shell> vi /etc/profile

在最後邊新增如下設定:

ulimit -u 65535  
ulimit -n 65535
ulimit -d unlimited  
ulimit -m unlimited  
ulimit -s unlimited  
ulimit -t unlimited  
ulimit -v unlimited  

生效:

shell> source /etc/profile

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-02/140429.htm


IT145.com E-mail:sddin#qq.com