1. 程式人生 > >linux內核優化

linux內核優化

最大值 -s IE lang str oot vim 警告 默認

調整linux的最大文件打開數和用戶進程數

打開/etc/security/limits.conf,在最後一行添加如下命令:

* soft nofile 65535

* hard nofile 65535

* soft nproc 10240

* hard nproc 10240

在系統的/etc/rc.local文件添加如下內容

ulimit -SHn 65535 # #臨時打開最大文件數

#Linux 6.4之後,如果只修改了該文件中的nproc,那麽其他非root用戶對應的max_user_processes並不會改變,仍然是1024,這個是因為受到了下面這個文件的影響,改成和nproc 10240一樣

vim /etc/security/limits.d/90-nproc.conf

#開啟SYN Cookies。當出現SYN等待隊列溢出時,啟用cookies來處理,可防範少量SYN Flood(洪水攻擊)攻擊

net.ipv4.tcp_syncookies = 1

#表示SYN 隊列的長度,默認1024,建議加大隊列的長度為8192或更多,就能容納更多等待連接的網絡連接數量,該參數為服務器端用於記錄那些尚未接受到客戶端確認信息的連接請求最大值

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_synack_retries=2 #SYN-ACK握手狀態重試次數,默認5

#設置允許系統打開的系統範圍,即用於向外連接的端口範圍

net.ipv4.ip_local_port_range = 4000 65000

# TCP失敗重傳次數,默認是15,減少次數可釋放內核資源

net.ipv4.tcp_tw_recycle = 1

#允許將TIME-WAIT sockets 重新用於新的TCP連接提示:reuse和recycle這兩個參數是為了防止生產環境下的web、squid等業務服務器time_wait網絡狀態數量過多設置的

net.ipv4.tcp_tw_reuse = 1

#用於設定系統中最多有多少個TCP套接字不被關聯到任何一個用戶文件句柄上,如果超過這個數值,孤立連接將立即被復位並打印出警告信息,這個限制只是為了防止簡單的DOS攻擊,不能過分依靠這個限制甚至人為減少這個值,更多的情況是增加這個值

net.ipv4.tcp_max_orphans = 16384

#默認值是128,這個參數用於調節系統同時發起的TCP連接數,在高並發的請求中,默認的值可能會導致鏈接超時或重傳,因此需要結合並發請求數來調節此值

net.core.somaxconn = 16384

# 表示系統同時保持 TIME_WAIT套接字的最大數量,如果超出這個數值,TIME_WAIT套接字將立刻清楚並打印警告信息,默認為180000,對於Apache\Nginx等服務器可以將其調低一點,如改為5000-30000,此項參數可以控制TIME_WAIT套接字的最大數量,編碼Squit服務器被大量的TIME_WAIT套接字拖死#timewait的數量,默認是180000

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.tcp_fin_timeout = 2 #修改FIN-WAIT-2保存狀態時間,默認是60秒

linux內核優化