1.cat /etc/security/limits.conf
webuser soft nofile 65535
webuser hard nofile 65535
webuser soft nproc 65535
webuser hard nproc 65535
2.cat /etc/sysctl.conf
kernel.pid_max = 65535
sysctl -p
3.cat /proc/sys/kernel/pid_max或sysctl kernel.pid_max 實際值
4.cat /proc/sys/fs/file-max 查看文件描述符(最大打開文件數)實際值
5.cat /etc/security/limits.d/90-nproc.conf
修改Linux最大進程數
我們可以通過 ulimit -a 來查看當前Linux系統的一些系統參數;我們可以做如下修改
1、(Centos 7.4.1708)正確的修改方式是修改 /etc/security/limits.d/20-nproc.conf 文件中的值。:
$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
2、(Centos 6.9 )正確的修改方式是修改 /etc/security/limits.d/90-nproc.conf 文件中的值。
$ cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 65535
root soft nproc unlimited
我們只要修改上面文件中的 4096 和 65535 這個值,即可。
通常我們關注得比較多的是一個進程可打開的最大文件數,即open files。系統允許創建的最大進程數量即是max user processes 這個參數。
我們可以使用 ulimit -u 4096 修改max user processes的值,但是只能在當前終端的這個session里面生效,重新登錄后仍然是使用系統默認值。
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
