linux設(shè)置最大連接數(shù)
1、最大文件打開數(shù)限制
vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
vi /etc/profile
source /etc/profile # 配置立即生效
ulimit -u 65535
ulimit -SHn 65535
# 其他建議設(shè)置成無限制(unlimited)的一些重要設(shè)置是
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited
2、最大TCP連接數(shù)/etc/sysctl.conf的優(yōu)化
vi /etc/sysctl.conf
sysctl -p # 配置立即生效
3、ulimit 作用和常用參數(shù)
ulimit 用于限制 shell 啟動進程所占用的資源,支持以下各種類型的限制:所創(chuàng)建的內(nèi)核文件的大小、進程數(shù)據(jù)塊的大小、Shell 進程創(chuàng)建文件的大小、內(nèi)存鎖住的大小、常駐內(nèi)存集的大小、打開文件描述符的數(shù)量、分配堆棧的最大大小、CPU 時間、單個用戶的最大線程數(shù)、Shell 進程所能使用的最大虛擬內(nèi)存。同時,它支持硬資源和軟資源的限制。任何的超越都會導(dǎo)致進程的終止。
參數(shù) 描述 -a:顯示目前資源限制的設(shè)定; -c <core文件上限>:設(shè)定core文件的最大值,單位為區(qū)塊; -d <數(shù)據(jù)節(jié)區(qū)大小>:程序數(shù)據(jù)節(jié)區(qū)的最大值,單位為KB; -f <文件大小>:shell所能建立的最大文件,單位為區(qū)塊; -H:設(shè)定資源的硬性限制,也就是管理員所設(shè)下的限制; -m <內(nèi)存大小>:指定可使用內(nèi)存的上限,單位為KB; -n <文件數(shù)目>:指定同一時間最多可開啟的文件數(shù); -p <緩沖區(qū)大小>:指定管道緩沖區(qū)的大小,單位512字節(jié); -s <堆疊大小>:指定堆疊的上限,單位為KB; -S:設(shè)定資源的彈性限制; -t <CPU時間>:指定CPU使用時間的上限,單位為秒; -u <程序數(shù)目>:用戶最多可開啟的程序數(shù)目; -v <虛擬內(nèi)存大小>:指定可使用的虛擬內(nèi)存上限,單位為KB。
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 3521
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3521
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
###################### 以上輸出解釋 ##################################
core file size # core文件的最大值為100 blocks,
data seg size # 進程的數(shù)據(jù)段可以任意大
file size # 文件可以任意大
pending signals # 最多有2047個待處理的信號
max locked memory # 一個任務(wù)鎖住的物理內(nèi)存的最大值為64kB
max memory size # 一個任務(wù)的常駐物理內(nèi)存的最大值
open files # 一個任務(wù)默認最多可以同時打開1024的文件
pipe size # 管道的最大空間為4096字節(jié)
POSIX message queues # POSIX的消息隊列的最大值為819200字節(jié)
stack size # 進程的棧的最大值為8192字節(jié)
cpu time # 進程使用的CPU時間
max user processes # 當前用戶同時打開的進程(包括線程)的最大個數(shù)為3521
virtual memory # 沒有限制進程的最大地址空間
file locks # 所能鎖住的文件的最大個數(shù)沒有限制