time_wait處理
ulimit配置
開機自啟動
cannot allocate memory 問題的處理
檢視可用埠範圍
cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999
修改埠可用範圍# 臨時修改
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
# 永久修改:在/etc/sysctl.conf中新增如下資訊
net.ipv4.ip_local_port_range = 1024 65535
# 然後生效一下
sysctl -p
壓測過程中,tcp連線的主動關閉方會出現大量的time_wait狀態,導致埠不夠用等問題
可以配置
參考
# 同樣,在/etc/sysctl.conf中新增如下資訊,最後使用sysctl -p生效一下
# 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉
net.ipv4.tcp_syncookies = 1
# 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
# 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉
net.ipv4.tcp_tw_recycle = 1
# 修改系統預設的 timeout 時間
net.ipv4.tcp_fin_timeout = 30
顯示當前所有的資源限制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) 63445
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) 63445
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
可以直接對以上引數進行修改,但是只在當前的session及其衍生session生效,不推薦
在/etc/security/limits.conf中進行永久修改,格式:
(參考limits.conf中的注釋部分的說明)
修改之後重新登入即可生效
* soft core unlimited
* hard core unlimited
將啟動命令新增到/etc/rc.d/rc.local中
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 1024000
* hard nofile 1024000
## 當前使用者最大登入數
## max number of logins for this user
* soft maxlogins 100
* hard maxlogins 100
## 系統最大登入使用者數
## max number of logins on the system
* soft maxsyslogins 100
* hard maxsyslogins 100
檢視最大程序數 sysctl kernel.pid_max
檢視程序數 ps -elf | wc -l
確認是程序數滿了
臨時修改:
echo 1000000 > /proc/sys/kernel/pid_max
永久生效:
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p
Linux引數優化
1 openfiles引數優化 有時應用程式會報too many open files的錯誤,是因為open files數目不夠,系統預設是1024。ulimit a core file size blocks,c 0 data seg size kbytes,d unlimited schedul...
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目錄下存放著大多數的核心引數,並且設計成可以在系統執行的同...