解決方法:
vim /etc/sysctl.conf配置說明:net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_timestamps = 1
#然後執行 /sbin/sysctl -p 讓引數生效。
net.ipv4.tcp_syncookies = 1 表示開啟syn cookies。當出現syn等待佇列溢位時,啟用cookies來處理,可防範少量syn攻擊,預設為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將time-wait sockets重新用於新的tcp連線,預設為0,表示關閉;這開啟同時需要確認已開啟tcp_timestamps,解決對於老的資料進行丟棄。
net.ipv4.tcp_tw_recycle = 1 表示開啟tcp連線中time-wait sockets的快速**,預設為0,表示關閉;
net.ipv4.tcp_fin_timeout=30修改系統預設的 timeout 時間。
如果以上配置調優後效能還不理想,可繼續修改一下配置:
vi /etc/sysctl.confnet.ipv4.tcp_keepalive_time = 1200
#表示當keepalive起用的時候,tcp傳送keepalive訊息的頻度。預設是2小時,改為20分鐘。
net.ipv4.ip_local_port_range = 1024 65000
#表示用於向外連線的埠範圍。預設情況下很小:32768到61000,改為1024到65000。作為客戶端發起連線的時候。
net.ipv4.tcp_max_syn_backlog = 8192
#表示syn佇列的長度,預設為1024,加大佇列長度為8192,可以容納更多等待連線的網路連線數。
net.ipv4.tcp_max_tw_buckets = 5000
#表示系統同時保持time_wait套接字的最大數量,如果超過這個數字,time_wait套接字將立刻被清除並列印警告資訊。
#預設為180000,改為5000。對於apache、nginx等伺服器,上幾行的引數可以很好地減少time_wait套接字數量,但是對於 squid,效果卻不大。此項引數可以控制time_wait套接字的最大數量,避免squid伺服器被大量的time_wait套接字拖死。
問題:程序高併發時出現too many open files錯誤
1、ulimit -a檢查open files為65535
2、檢視/etc/security/limits.conf配置正常
3、檢視程序啟動後的limit,cat /proc/24323/limits ,發現異常
解決方法:啟動指令碼檔案加入limitnofile=65535
例如 /lib/systemd/system/evops.service
Linux問題彙總
解壓檔案的時候一直顯示can t mkdir 後來換了root使用者解壓就可以了 刪除資料夾 rm rf mv可以修改名字 vi etc profile 修改環境變數 修改完環境變數要記得source etc profile 使配置的環境變數生效 cat 連線檔案並輸出列印 和more一樣可以用於檢...
linux移植問題彙總(一)
linux移植問題彙總 一 在此記錄移植linux過程 現的問題以及解決方法。專案github位址 1 移植linux kernel碰到的問題 kernel配置好後啟動時發現卡在 starting kernel 最後發現是linux的bug,由於u boot2014.04串列埠配置預設開啟fifo,...
Linux解決問題彙總
目錄 1.使用者不在sudoers檔案中的解決方法 2.centos下解決介面消失問題 3.雙系統下預設啟動啟動linux 4.開關防火牆 5.設定terminal終端快捷鍵 參考部落格 chown的用法 在命令列介面下操作步驟如下 1.進入root su root並輸入密碼 2.輸入init 5 ...