1、openfiles引數優化
有時應用程式會報too many open files的錯誤,是因為open files數目不夠,系統預設是1024。
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
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) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
其中open files (-n) 1024 表示每個使用者最大允許開啟的檔案數量是1024
檢視當前系統開啟的檔案數量
lsof | wc -l
檢視某個程序開啟的檔案數量
lsof -p pid | wc -l
設定open files數值的方法
臨時設定
ulimit -n 2048重啟系統後會還原預設值
永久設定
vi /etc/security/limits.d/90-nproc.conf 末尾處新增:
* soft nofile 51200 軟限制
* hard nofile 51200 硬限制 軟限制要小於等於硬限制
* soft nproc 11000
*hard nproc 11000
注:* 表示所有使用者,可根據需要設定某乙個使用者,例如:
testuser soft nofile 51200
testuser hard nofile 51200
testuser soft nproc 11000
testuser hard nproc 11000
2、修改網路
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_syncookies = 1
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1800
net.ipv4.tcp_max_syn_backlog=4096
執行sysctl -p 生效
Linux引數優化
time wait處理 ulimit配置 開機自啟動 cannot allocate memory 問題的處理 檢視可用埠範圍cat proc sys net ipv4 ip local port range 32768 60999修改埠可用範圍 臨時修改 echo 1024 65000 proc ...
linux核心引數優化
linux核心引數優化 主要針對 etc sysctl.conf檔案 etc sysctl.conf是乙個允許你改變正在執行中的linux系統的介面。它包含一些tcp ip堆疊和虛擬記憶體系統的高階選項,可用來控制linux網路配置,由於 proc sys net目錄內容的臨時性,建議把tcpip引...
linux核心引數優化
linux如何在系統執行時修改核心引數 proc sys 與 etc sysctl.conf redhat向員提供了非常好的方法,使我們可以在系統執行時更改核心引數,而不需要重新引導系統。這是通過 proc虛擬檔案系統實現的。proc sys目錄下存放著大多數的核心引數,並且設計成可以在系統執行的同...