① 一般優化linux的內核,需要優化什麼參數
作為高性能WEB伺服器,只調整Nginx本身的參數是不行的,因為Nginx服務依賴於高性能的操作系統。
以下為常見的幾個Linux內核參數優化方法。
net.ipv4.tcp_max_tw_buckets
對於tcp連接,服務端和客戶端通信完後狀態變為timewait,假如某台伺服器非常忙,連接數特別多的話,那麼這個timewait數量就會越來越大。
畢竟它也是會佔用一定的資源,所以應該有一個最大值,當超過這個值,系統就會刪除最早的連接,這樣始終保持在一個數量級。
這個數值就是由net.ipv4.tcp_max_tw_buckets這個參數來決定的。
CentOS7系統,你可以使用sysctl -a |grep tw_buckets來查看它的值,默認為32768,
你可以適當把它調低,比如調整到8000,畢竟這個狀態的連接太多也是會消耗資源的。
但你不要把它調到幾十、幾百這樣,因為這種狀態的tcp連接也是有用的,
如果同樣的客戶端再次和服務端通信,就不用再次建立新的連接了,用這個舊的通道,省時省力。
net.ipv4.tcp_tw_recycle = 1
該參數的作用是快速回收timewait狀態的連接。上面雖然提到系統會自動刪除掉timewait狀態的連接,但如果把這樣的連接重新利用起來豈不是更好。
所以該參數設置為1就可以讓timewait狀態的連接快速回收,它需要和下面的參數配合一起使用。
net.ipv4.tcp_tw_reuse = 1
該參數設置為1,將timewait狀態的連接重新用於新的TCP連接,要結合上面的參數一起使用。
net.ipv4.tcp_syncookies = 1
tcp三次握手中,客戶端向服務端發起syn請求,服務端收到後,也會向客戶端發起syn請求同時連帶ack確認,
假如客戶端發送請求後直接斷開和服務端的連接,不接收服務端發起的這個請求,服務端會重試多次,
這個重試的過程會持續一段時間(通常高於30s),當這種狀態的連接數量非常大時,伺服器會消耗很大的資源,從而造成癱瘓,
正常的連接進不來,這種惡意的半連接行為其實叫做syn flood攻擊。
設置為1,是開啟SYN Cookies,開啟後可以避免發生上述的syn flood攻擊。
開啟該參數後,服務端接收客戶端的ack後,再向客戶端發送ack+syn之前會要求client在短時間內回應一個序號,
如果客戶端不能提供序號或者提供的序號不對則認為該客戶端不合法,於是不會發ack+syn給客戶端,更涉及不到重試。
net.ipv4.tcp_max_syn_backlog
該參數定義系統能接受的最大半連接狀態的tcp連接數。客戶端向服務端發送了syn包,服務端收到後,會記錄一下,
該參數決定最多能記錄幾個這樣的連接。在CentOS7,默認是256,當有syn flood攻擊時,這個數值太小則很容易導致伺服器癱瘓,
實際上此時伺服器並沒有消耗太多資源(cpu、內存等),所以可以適當調大它,比如調整到30000。
net.ipv4.tcp_syn_retries
該參數適用於客戶端,它定義發起syn的最大重試次數,默認為6,建議改為2。
net.ipv4.tcp_synack_retries
該參數適用於服務端,它定義發起syn+ack的最大重試次數,默認為5,建議改為2,可以適當預防syn flood攻擊。
net.ipv4.ip_local_port_range
該參數定義埠范圍,系統默認保留埠為1024及以下,以上部分為自定義埠。這個參數適用於客戶端,
當客戶端和服務端建立連接時,比如說訪問服務端的80埠,客戶端隨機開啟了一個埠和服務端發起連接,
這個參數定義隨機埠的范圍。默認為32768 61000,建議調整為1025 61000。
net.ipv4.tcp_fin_timeout
tcp連接的狀態中,客戶端上有一個是FIN-WAIT-2狀態,它是狀態變遷為timewait前一個狀態。
該參數定義不屬於任何進程的該連接狀態的超時時間,默認值為60,建議調整為6。
net.ipv4.tcp_keepalive_time
tcp連接狀態里,有一個是established狀態,只有在這個狀態下,客戶端和服務端才能通信。正常情況下,當通信完畢,
客戶端或服務端會告訴對方要關閉連接,此時狀態就會變為timewait,如果客戶端沒有告訴服務端,
並且服務端也沒有告訴客戶端關閉的話(例如,客戶端那邊斷網了),此時需要該參數來判定。
比如客戶端已經斷網了,但服務端上本次連接的狀態依然是established,服務端為了確認客戶端是否斷網,
就需要每隔一段時間去發一個探測包去確認一下看看對方是否在線。這個時間就由該參數決定。它的默認值為7200秒,建議設置為30秒。
net.ipv4.tcp_keepalive_intvl
該參數和上面的參數是一起的,服務端在規定時間內發起了探測,查看客戶端是否在線,如果客戶端並沒有確認,
此時服務端還不能認定為對方不在線,而是要嘗試多次。該參數定義重新發送探測的時間,即第一次發現對方有問題後,過多久再次發起探測。
默認值為75秒,可以改為3秒。
net.ipv4.tcp_keepalive_probes
第10和第11個參數規定了何時發起探測和探測失敗後再過多久再發起探測,但並沒有定義一共探測幾次才算結束。
該參數定義發起探測的包的數量。默認為9,建議設置2。
設置和範例
在Linux下調整內核參數,可以直接編輯配置文件/etc/sysctl.conf,然後執行sysctl -p命令生效
② 如何給安裝好Linux伺服器進行優化設置和安全設置
1、 關閉不需要的服務
這個應該很容易理解的,凡是我們的系統不需要的服務,一概關閉,這樣一個好處是減少內存和CPU時間的佔用,另一個好處相對可以提高安全性
那麼哪些服務是肯定要保留的呢?
在linux機器上通常有四項服務是必須保留的
iptables
linux下強大的防火牆,只要機器需要連到網上,哪裡離得開它
network
linux機器的網路,如果不上網可以關閉,只要上網當然要打開它
sshd
這是openssh server,如果你的機器不是本地操作,而是託管到IDC機房,
那麼訪問機器時需要通過這個sshd服務進行
syslog
這是linux系統的日誌系統,必須要有,
否則機器出現問題時會找不到原因
除了這四項必需的服務之外,其他的服務需要保留哪些呢?
這時就可以根據系統的用途而定,比如:資料庫伺服器,就需要啟用mysqld(或oracle)
web伺服器,就需要啟用apache
2、 關閉不需要的tty
請編輯你的/etc/inittab
找到如下一段:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
這段命令使init為你打開了6個控制台,分別可以用alt+f1到alt+f6進行訪問
此6個控制台默認都駐留在內存中,事實上沒有必要使用這么多的
你用ps auxf這個命令可以看到,是六個進程
root 3004 0.0 0.0 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1
root 3037 0.0 0.0 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2
root 3038 0.0 0.0 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3
root 3051 0.0 0.0 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4
root 3056 0.0 0.0 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5
root 3117 0.0 0.0 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6
3. 如何關閉這些進程?
通常我們保留前2個控制台就可以了,
把後面4個用#注釋掉就可以了
然後無需重啟機器,只需要執行 init q 這個命令即可
init q
q作為參數的含義:重新執行/etc/inittab中的命令
修改完成後需重啟機器使之生效
4 、如何關閉atime?
一個linux文件默認有3個時間:
atime:對此文件的訪問時間
ctime:此文件inode發生變化的時間
mtime:此文件的修改時間
如果有多個小文件時通常沒有必要記錄文件的訪問時間,
這樣可以減少磁碟的io,比如web伺服器的頁面上有多個小圖片
如何進行設置呢?
修改文件系統的配置文件:vi /etc/fstab
在包含大量小文件的分區中使用noatime,nodiratime兩項
例如:
/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0
這樣文件被訪問時就不會再產生寫磁碟的io
5、 一定要讓你的伺服器運行在level 3上
做法:
vi /etc/inittab
id:3:initdefault:
讓伺服器運行X是沒有必要的
6, 優化sshd
X11Forwarding no //不進行x圖形的轉發
UseDNS no //不對IP地址做反向的解析
7、 優化shell
修改命令history記錄
# vi /etc/profile
找到 HISTSIZE=1000 改為 HISTSIZE=100
然後 source /etc/profile
③ linux下ssd優化
1、rc.local下添加fstrim -a
2、修改fstab,在fstab文件中添加一下內容
tmpfs /var/log tmpfs defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
然後輸入一下命令重新掛載或重啟:
sudo mount -a
然後,可以在Firefox上通過about:config設置,把cache放到/tmp去,提高Firefox效率外,同歲簡皮時也可以減少乎差對SSD的讀寫。
新增字元串browser.cache.disk.parent_directory設置的咐舉數值為 /tmp
④ Linux系統內核優化
最正局近由於項目的要實現無限級代理的模式,加上要實時統計業績等等一些業務邏輯,導致對性能這塊要求比較高一些,所以趁著這個機會呢,也分享一下實踐後和綜合一些資料之後的筆記,寫得不一定很完美,但是也希望對有需要的朋友一絲絲的幫助。
大多數MySQL都部署在linux系統上,所以操作系統的一些參數也會影響到MySQL性舉睜讓能,以下對linux內核進行適當優化。
1、查看連接數 netstat -na|awk '/^tcp/ {++S[$NF]} END {for(i in S) print i,S[i]}'
2、查找 whereis sysctl.cnf
4、然後執行以下命令讓參數生效: /sbin/sysctl -p
1、修改 vim /etc/security/limits.conf * 代表所有早察用戶,也可以指定用戶,重啟系統生效
2、重啟
⑤ 讓Linux系統保持活力的優化腳本
筆者從生產系統上和網路資料上總結出幾種優化腳本,腳本從磁碟和內存方面入手,讓Linux系統保持活力。特別是第三種清理緩存釋放內存,可以結合筆者以前的文章-Linux健康檢查腳本health-check-script來做進一步的包裝,特別是在做大量數據備份之後,完成自動檢測和清理工作。
下面的delete_data函數中的三條命令可以完成目錄下所有文件、log文件和log.gz文件按過期時間清理。
delete_data()
{
delete_time=$1
#清理目錄下所有過期文件
find /home/pi/log/ -mtime +$delete_time -exec rm -r {} \;
#清理目錄下.log過期文件
find /home/pi/log/ -mtime +$delete_time -name '*.log' -exec rm -r {} \;
#清理目錄下.log.gz過期文件
find /home/pi/log/ -mtime +$delete_time -name '*.log.gz' -exec rm -r {} \;
}
2.1目錄下文件單獨壓縮打包
#將/home/pi/log/目錄下的.log文件打包成.gz文件,
find /home/pi/log/ -name '*.log' -exec gzip -f {} \;
運行測試,默認gzip 會刪除源文件,並生成xx.gz文件。
zcat filename.gz 可以直接查看文件內容。gunzip –c filename.gz 可以解壓縮並保留源文件,但是解壓後顯示在標准輸出上,沒有解壓後文件。gunzip -cv filename.gz > filename ,可以保留源文件和壓縮後文件,-v是顯示進度。壓縮保留源文件是 gzip -cv filename > filename.gz 。
2.2目錄下文件以前一起打包壓縮
gzip無法壓縮文件夾,僅用於壓縮單個文件,要壓縮文件夾,應該使用tar + gzip ,即是tar -z。
#將log目錄下的文件打包並以時間命令,打包後以 gzip 壓縮
tar -zcvf $(date +%Y%m%d%H%M%S)log.tar.gz log/
tar -ztvf log.tar.gz可以查看包內有哪些文件。
tar -zxvf 20210219143137log.tar.gz 解壓縮到當前目錄
tar -zxvf 20210219143137log.tar.gz -C log2/ 將包解壓到log2目錄下。
頻繁的文件訪問(特別是數據備份後)會導致系統的Cache使用量大增。sysctl命令用於運行時配置內核參數,這些參數位於/proc/sys目錄下。
這里我們來看一下 buff/cache的作用。
buffer指Linux內存的 緩沖區緩存 Buffer cache,cache指Linux內存中的 頁面緩存 Page cache。
Cache(Page cache,頁面緩存): 主要用來作為文件系統上的文件數據的緩存來用,尤其是針對當進程對文件有read/write操作的時候。
Buffer(Buffer cache,緩沖區緩存): 主要是針對塊設備進行緩存的,比如當我們對一個文件進行寫操作的時候,page cache的內容會被改變,而buffer cache則可以用來將page標記為不同的緩沖區,並記錄是哪一個緩沖區被修改了。這樣,內核在後續執行臟數據的回寫(writeback)時,就不用將整個page寫回,而只需要寫回修改的部分即可。
Linux內核會在內存將要耗盡的時候,觸發內存回收的工作,以便釋放出內存給急需內存的進程使用。怎麼手動清除呢?修改/proc/sys/vm/drop_caches 的值。看看英語說明:
to free pagecache, use echo 1 > /proc/sys/vm/drop_caches;
to free dentries and inodes, use echo 2 > /proc/sys/vm/drop_caches;
to free pagecache, dentries and inodes, use echo 3 > /proc/sys/vm/drop_caches.
即3可以釋放所有類型的緩存。
同時為了防止數據丟失,命令sync 將臟頁的內容寫回硬碟,但可能伴隨著系統磁碟IO飆高。
運行free -m命令,再運行下面的腳本中的命令,發現 buff/cache減少了21M。
⑥ linux 調優--修改文件最大句柄數
最近重啟平台後,啟動數據流,確發生報錯:
發現文件打開太多,句柄數不夠用了,需要調優linux參數:
首先查看下系統的句柄是多少,用ulimit -a 命令查看
linux默認最大文件句燃陸柄數是1024個皮毀頃,當你的余嘩伺服器在大並發達到極限時,就會報出「too many open files」。
修改linux系統參數:vi /etc/security/limits.conf
*softnofile65536
*hardnofile65536
修改以後保存,注銷當前用戶,重新登錄,執行ulimit -a
⑦ 如何優化Linux系統的內存使用
觀察內存使用問題,free是很好用的一個命令
free -g
Mem:表示物理內存統計
total:表示物理內存總量(total = used + free)used:表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存並未實際使用。free:未被分配的內存。shared:共享內存,一般系統不會用到,這里也不討論。buffers:系統分配但未被使用的buffers 數量。cached:系統分配但未被使用的cache 數量。
-/+ buffers/cache:表示物理內存的緩存統計
used2:也就是第一行中的used – buffers-cached 也是實際使用的內存總量。 //used2為第二行free2= buffers1 + cached1 + free1 //free2為第二行、buffers1等為第一行free2:未被使用的buffers 與cache 和未被分配的內存之和,這就是系統當前實際可用內存。
性能相關
buffers與cached的區別
對於應用程序來說,buffers/cached 是等於可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。所以從應用程序的角度來說可用內存=系統free memory+buffers+cached.
buffers是指用來給塊設備做的緩沖大小,他只記錄文件系統的metadata以及 tracking in-flight pages.cached是用來給文件做緩沖。那就是說:buffers是用來存儲,目錄裡面有什麼內容,許可權等等。而cached直接用來記憶我們打開的文件,如果你想知道他是不是真的生效,你可以試一下,先後執行兩次命令#man X ,你就可以明顯的感覺到第二次的開打的速度快很多。
cached實驗:在一台沒有什麼應用的機器上做會看得比較明顯。記得實驗只能做一次,如果想多做請換一個文件名。
#free#man X#free#man X#free
你可以先後比較一下free後顯示buffers的大小。
buffers實驗:
#free#ls /dev#free
你比較一下兩個的大小,當然這個buffers隨時都在增加,但你有ls過的話,增加的速度會變得快,這個就是buffers/chached的區別。
因為Linux將你暫時不使用的內存作為文件和數據緩存,以提高系統性能,當你需要這些內存時,系統會自動釋放(不像windows那樣,即使你有很多空閑內存,他也要訪問一下磁碟中的pagefiles)
⑧ linux ulimit -u是設置什麼參數的
一般情況下, ulimit -n 的數值是1024.
當進程打開的文件數目超過此限制時,該進程就會退出。
因此,有時需要修改此限制。linux調優之修改最大連接數(ulimit命令)
如果只是普通用戶,只是暫時的修改ulimit -n,可以直接shell命令來修改(ulimit -n 1024000)。
但是這個設置時暫時的保留!當我們退出bash後,該值恢復原值。
如果要永久修改ulimit,需要修改/etc/security/limits.conf。limits.conf配置(ulimit設置永久生效)
vim /etc/security/limits.conf
# 添加如下的行
* soft nofile 4100
* hard nofile 4100
以下是說明:
* 代表針對所有用戶
noproc 是代表最大進程數
nofile 是代表最大文件打開數
添加格式:
username|@groupname type resource limit
username|@groupname:設置需要被限制的用戶名,組名前面加@和用戶名區別。也可以用通配符*來做所有用戶的限制。
type:有 soft,hard 和 -,soft 指的是當前系統生效的設置值。hard 表明系統中所能設定的最大值。soft 的限制不能比har 限制高。用 - 就表明同時設置了 soft 和 hard 的值。
resource:
core - 限制內核文件的大小(kb)
date - 最大數據大小(kb)
fsize - 最大文件大小(kb)
memlock - 最大鎖定內存地址空間(kb)
nofile - 打開文件的最大數目
rss - 最大持久設置大小(kb)
stack - 最大棧大小(kb)
cpu - 以分鍾為單位的最多 CPU 時間
noproc - 進程的最大數目
as - 地址空間限制
maxlogins - 此用戶允許登錄的最大數目
⑨ linux安裝完後怎麼優化系統
作為一個系統管理員,下面我們聊一下基於伺服器應用的linux,由於個人電腦上使用linux也許不是像伺服器上一樣,優先追求安全和穩定,因此個人電腦使用的朋友只做個參考吧。 系統優化 說起優化,其實最好的優化就是提升硬體的配置,例如提高cpu的運算能力,提高內存的容量,個人認為如果你考慮升級硬體的話,建議優先提高內存的容量,因為一般伺服器應用,對內存的消耗使用要求是最高的。當然這都是題外話了。 這里我們首要討論的,是在同等硬體配置下(同一台伺服器,不提升硬體的情況下)對你的系統進行優化。 作為系統管理員,我認為,首先我們要明確一個觀點:在伺服器上作任何操作,升級和修改任何配置文件或軟體,都必須首要考慮安全性,不是越新的東西就越好,這也是為什麼linux管理感覺上和windows有所不同的地方,windows首先推薦大家去使用它的最新肆橋版本軟體和操作系統,其實我個人認為這是一種商業行為,作為從系統管理上來講,這是很不好的,使用新的軟體和系統可能帶來新的問題,有些甚至是致命的。 因此,作為管理,我們還是應該考慮穩定的長期使用的軟體版本來作為我們的版本,具體的好處我就不多說了。相信作為管理員的你應該知道的。 其實個人使用的linux最直接的一個優化就是升級內核,自己編譯的內核是根據自己的系統編譯而來,將得到最大的性能和最小的內核。 但是,伺服器就不太一樣了,當然我們也希望每一台伺服器都是自己手工編譯的內核,高效而精巧。但是實際和願望是有差距的,試想一下,如果你管理100來台linux主機,而每一台也許配置都不一樣,那編譯內核的一個過程將是一個浩大工程,而且從實際考慮,工作量大得難以想像。我想你也不會願意做這種事情吧。因此,個人建議,採用官方發布的內核升級包是很好的選擇。 首先,我們對新安裝的系統,將做一系列升級,包括軟體和內核,這是很重要的步驟。 在升級好所有軟體後,基本的防火牆和配置都做好以後,我們開始優化一些細節配置,如果你是老系統,那麼在作本問題及的一些操作和優化你系統之前,務必被備份所有數據到其他介質。 1、虛擬內存優化 # free 查看當前系統的內存使用情況。 一般來說,linux的物理內存幾乎是完全used。這個和windows非常大的區別,它的內存管理機制將裂皮猛系統內存充分利用,並非windows無論多大的內存都要去使用一些虛擬內存一樣。這點需要注意。 linux下面虛擬內存的默認配置通過命令 # cat /proc/sys/vm/freepages 可以查看,顯示的三個數字是當前系統的:最小內存空白頁、最低內存空白頁和最高內存空白。握帶 注意,這里系統使用虛擬內存的原則是:如果空白頁數目低於最高空白頁設置,則使用磁碟交換空間。當達到最低空白頁設置時,使用內存交換(註:這個是我查看一些資料得來的,具體應用時還需要自己觀察一下,不過這個不影響我們配置新的虛擬內存參數)。 內存一般以每頁4k位元組分配。最小內存空白頁設置是系統中內存數量的2倍;最低內存空白頁設置是內存數量的4倍;最高內存空白頁設置是系統內存的6倍。這些值在系統啟動時決定。 一般來講在配置系統分配的虛擬內存配置上,我個人認為增大最高內存空白頁是一種比較好的配置方式,以1G的內存配置為例: 可將原來的配置比例修改為: 2048 4096 6444 通過命令 # echo 2048 4096 6444 > /proc/sys/vm/freepages 因為增加了最高空白頁配置,那麼可以使內存更有效的利用。 2、硬碟優化 如果你是scsi硬碟或者是ide陣列,可以跳過這一節,這節介紹的參數調整隻針對使用ide硬碟的伺服器。 我們通過hdparm程序來設置IDE硬碟, 使用DMA和32位傳輸可以大幅提升系統性能。使用命令如下: # /sbin/hdparm -c 1 /dev/hda 此命令將第一個IDE硬碟的PCI匯流排指定為32位,使用 -c 0參數來禁用32位傳輸。 在硬碟上使用DMA,使用命令: # /sbin/hdparm -d 1 /dev/hda 關閉DMA可以使用 -d 0的參數。 更改完成後,可以使用hdparm來檢查修改後的結果,使用命令: # /sbin/hdparm -t /dev/had 為了確保設置的結果不變,使用命令:# /sbin/hdparm -k 1 /dev/hda Hdparm命令的一些常用的其他參數功能 -g 顯示硬碟的磁軌,磁頭,磁區等參數。 -i 顯示硬碟的硬體規格信息,這些信息是在開機時由硬碟本身所提供。 -I 直接讀取硬碟所提供的硬體規格信息。 -p 設定硬碟的PIO模式。 -Tt 評估硬碟的讀取效率和硬碟快取的讀取效率。 -u <0或1> 在硬碟存取時,允許其他中斷要求同時執行。 -v 顯示硬碟的相關設定。 3、其他優化 關閉不需要的服務,關於系統自動啟動的服務,網上有很多資料,在此我就不贅述了; 安全配置 作為一個系統管理員來說,定期對系統作一次全面的安全檢查很重要的,最近遇到一些朋友來信說出現了一些莫名其妙的問題,例如最大的一個問題就是明顯感覺網路服務緩慢,這極有可能是被攻擊的現象。 實踐證明,無論是那種系統,默認安裝都是不安全的,實際不管你用windows也好,linux,bsd或其他什麼系統,默認安裝的都有很多漏洞,那怎麼才能成為安全的系統呢,這正是我們系統管理人員需要做的事情。配置配置再配置。 任何系統,只要細心的配置,堵住已知的漏洞,可以說這個系統是安全的,其實並非很多朋友說的那樣,安裝了系統,配置了防火牆,安裝了殺毒軟體,那麼就安全了,其實如果對系統不作任何安全設置,那就等於向黑客敞開一扇紙做的大門,數十分鍾就能完全控制!
⑩ linux內核優化參數
cat >> /etc/sysctl.conf << EOF
# kernel optimization
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
EOF # 《Linux就該這么學》
將上面的內核參數加入/etc/sysctl.conf文件中,執行如下命令使之生效:
sysctl -p