Linux引數優化

2021-08-14 04:34:49 字數 2166 閱讀 4083

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目錄下存放著大多數的核心引數,並且設計成可以在系統執行的同...