CentOS5.x系統(tǒng)內(nèi)核優(yōu)化的示例分析

這篇文章主要為大家展示了“CentOS5.x系統(tǒng)內(nèi)核優(yōu)化的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“CentOS5.x系統(tǒng)內(nèi)核優(yōu)化的示例分析”這篇文章吧。

峨邊彝族網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

主要是針對/etc/sysctl.conf里的各項進行詳細解析,所有內(nèi)容經(jīng)網(wǎng)絡(luò)搜集并整理,方便大家學(xué)習(xí)了解。

系統(tǒng)優(yōu)化項:

kernel.sysrq = 0

#使用sysrq組合鍵是了解系統(tǒng)目前運行情況,為安全起見設(shè)為0關(guān)閉 

 kernel.core_uses_pid = 1

#控制core文件的文件名是否添加pid作為擴展 

kernel.msgmnb = 65536

#每個消息隊列的大小限制,以字節(jié)為單位

kernel.msgmni = 16 

#整個系統(tǒng)最大消息隊列數(shù)量限制,此值可以根據(jù)需要增大.

kernel.msgmax = 65536

#每個消息的最大size

kernel.shmmax = 68719476736

#可用共享內(nèi)存段的大?。▎挝唬鹤止?jié))限制

kernel.shmall = 4294967296

#所有內(nèi)存大?。▎挝唬喉?1頁 = 4Kb) 

kernel.shmmni = 4096

#控制共享內(nèi)存段總數(shù),目前的參數(shù)值是4096

kernel.sem = 250 32000 100 128

或kernel.sem =5010 641280 5010 128

#SEMMSL(每個用戶擁有信號量最大數(shù)量),SEMMNS(系統(tǒng)信號量最大數(shù)量),SEMOPM(每次semop系統(tǒng)調(diào)用操作數(shù)),SEMMNI(系統(tǒng)信號量集最大數(shù)量)

fs.aio-max-nr = 65536或取(1048576)(3145728)值

# 在系統(tǒng)級支持異步I/O,當(dāng)系統(tǒng)進行大量的連續(xù)IO會使用較大的值

fs.aio-max-size = 131072  

#異步IO的最大大小

fs.file-max = 65536        

#表示文件句柄的最大數(shù)量

net.core.wmem_default = 8388608

#為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存默認值(單位:字節(jié))

net.core.wmem_max = 16777216

#為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存最大值(單位:字節(jié))

net.core.rmem_default = 8388608

#為TCP socket預(yù)留用于接收緩沖的內(nèi)存默認值(單位:字節(jié)) 

net.core.rmem_max = 16777216

#為TCP socket預(yù)留用于接收緩沖的內(nèi)存最大值(單位:字節(jié))

net.core.somaxconn = 262144

#listen(函數(shù))的默認參數(shù),掛起請求的最大數(shù)量限制 

網(wǎng)絡(luò)優(yōu)化項:

net.ipv4.ip_forward = 0

#禁用包過濾、轉(zhuǎn)發(fā)功能 

net.ipv4.tcp_syncookies = 1

#開啟SYN COOKIES功能

net.ipv4.conf.default.rp_filter = 1

#啟用源路由核查功能 

net.ipv4.conf.default.accept_source_route = 0

#禁用所有IP源路由 

net.ipv4.route.gc_timeout = 100

#路由緩存刷新頻率, 當(dāng)一個路由失敗后多長時間跳到另一個默認是300

net.ipv4.ip_local_port_range = 1024 65000

#對外連接端口范圍,缺省情況下很?。?2768到61000,改為1024到65000。

net.ipv4.tcp_max_tw_buckets = 6000

#表示系統(tǒng)同時保持TIME_WAIT套接字的最大數(shù)量,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息,默認為180000

net.ipv4.tcp_sack = 1

#在高延遲的連接中,SACK 對于有效利用所有可用帶寬尤其重要。高延遲會導(dǎo)致在任何給定時刻都有大量正在傳送的包在等待應(yīng)答。在 Linux 中,除非得到應(yīng)答或不再需要,這些包將一直存放在重傳隊列中。這些包按照序列編號排隊,但不存在任何形式的索引。當(dāng)需要處理一個收到的 SACK 選項時,TCP 協(xié)議棧必須在重傳隊列中找到應(yīng)用了 SACK 的包。重傳隊列越長,找到所需的數(shù)據(jù)就越困難。一般可關(guān)閉這個功能。選擇性應(yīng)答在高帶寬延遲的網(wǎng)絡(luò)連接上對性能的影響很大,但也可將其禁用,這不會犧牲互操作性。將其值設(shè)置為 0 即可禁用 TCP 協(xié)議棧中的 SACK 功能。

net.core.netdev_max_backlog = 262144

#每個網(wǎng)絡(luò)接口接收數(shù)據(jù)包的速率比內(nèi)核處理這些包的速率快時,允許送到隊列的數(shù)據(jù)包的最大數(shù)目 

net.ipv4.tcp_window_scaling = 1

#TCP窗口擴大因子支持. 如果TCP窗口最大超過65535(64K), 設(shè)置該數(shù)值為1 。Tcp窗口擴大因子是一個新選項,一些新的實現(xiàn)才會包含該選項,為了是新舊協(xié)議兼容,做了如下約定:1、只有主動連接方的第一個syn可以發(fā)送窗口擴大因子;2、被動連接方接收到帶有窗口擴大因子的選項后,如果支持,則可以發(fā)送自己的窗口擴大因子,否則忽略該選項;3、如果雙方支持該選項,那么后續(xù)的數(shù)據(jù)傳輸則使用該窗口擴大因子。如果對方不支持wscale,那么它不應(yīng)該響應(yīng) wscale 0,而且在收到46的窗口時不應(yīng)該發(fā)送1460的數(shù)據(jù);如果對方支持wscale,那么它應(yīng)該大量發(fā)送數(shù)據(jù)來增加吞吐量,不至于通過關(guān)閉wscale來解決問題,如果是使用普遍的協(xié)議實現(xiàn),那么就需要關(guān)閉wscale來提高性能并以防萬一。

net.ipv4.tcp_rmem = 4096 87380 4194304

#TCP讀buffer 

net.ipv4.tcp_wmem = 4096 16384 4194304

#TCP寫buffer

net.ipv4.tcp_max_orphans = 3276800

#系統(tǒng)中最多有多少個TCP套接字不被關(guān)聯(lián)到任何一個用戶文件句柄上。如果超過這個數(shù)字,孤兒連接將即刻被復(fù)位并打印出警告信息。這個限制僅僅是為了防止簡單的DoS攻擊,不能過分依靠它或者人為地減小這個值,更應(yīng)該增加這個值(如果增加了內(nèi)存之后)。

net.ipv4.tcp_max_syn_backlog = 262144

#表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)

net.ipv4.tcp_timestamps = 0

#時間戳可以避免序列號的卷繞。一個1Gbps 的鏈路肯定會遇到以前用過的序列號。時間戳能夠讓內(nèi)核接受這種“異常”的數(shù)據(jù)包。這里需要將其關(guān)掉。

net.ipv4.tcp_synack_retries = 1

#為了打開對端的連接,內(nèi)核需要發(fā)送一個SYN 并附帶一個回應(yīng)前面一個SYN 的ACK。也就是所謂三次握手中的第二次握手。這個設(shè)置決定了內(nèi)核放棄連接之前發(fā)送SYN+ACK 包的數(shù)量。

net.ipv4.tcp_syn_retries = 1

#對于一個新建連接,內(nèi)核要發(fā)送多少個 SYN 連接請求才決定放棄。不應(yīng)該大于255,默認值是5

net.ipv4.tcp_tw_recycle = 1

#啟用timewait快速回收

net.ipv4.tcp_tw_reuse = 1

#開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接。

net.ipv4.tcp_mem = 94500000 915000000 927000000

#1st低于此值,TCP沒有內(nèi)存壓力,2nd進入內(nèi)存壓力階段,3rdTCP拒絕分配socket(單位:內(nèi)存頁)

net.ipv4.tcp_fin_timeout = 1

#表示如果套接字由本端要求關(guān)閉,這個參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時間為15秒

net.ipv4.tcp_keepalive_time = 60

#表示當(dāng)keepalive起用的時候,TCP發(fā)送keepalive消息的頻度。缺省是2小時,改為1分鐘。

net.ipv4.tcp_keepalive_probes= 1

net.ipv4.tcp_keepalive_intvl= 2

#意思是如果某個TCP連接在idle 2分鐘后,內(nèi)核才發(fā)起probe.如果probe 1次(每次2秒)不成功,內(nèi)核才徹底放棄,認為該連接已失效. 

最后使配置立即生效,可使用如下命令:

#/sbin/sysctl -p

我們在性能優(yōu)化時,首先要設(shè)定性能優(yōu)化需要達到的目標(biāo),然后尋找瓶頸,調(diào)整參數(shù),達到優(yōu)化目的。尋找性能瓶頸是比較辛苦的,要從大范圍,通過很多用例和測試,不斷的縮小范圍,最終確定瓶頸點, 有很多的參數(shù)要邊測試邊調(diào)整,這就需要我們更多的耐心和堅持。

實例:

temp=`cat /etc/sysctl.conf|grep -c net.ipv4.tcp_max_syn_backlog`

if [ $temp -eq 0 ]

then

echo "# Add" >> /etc/sysctl.conf

echo "net.ipv4.tcp_max_syn_backlog = 65536" >> /etc/sysctl.conf

echo "net.core.netdev_max_backlog =  32768" >> /etc/sysctl.conf

echo "net.core.somaxconn = 32768" >> /etc/sysctl.conf

echo "net.core.wmem_default = 8388608" >> /etc/sysctl.conf

echo "net.core.rmem_default = 8388608" >> /etc/sysctl.conf

echo "net.core.rmem_max = 16777216" >> /etc/sysctl.conf

echo "net.core.wmem_max = 16777216" >> /etc/sysctl.conf

echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf

echo "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.conf

echo "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.conf

echo "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.conf

#net.ipv4.tcp_tw_len = 1

echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf

echo "net.ipv4.tcp_mem = 94500000 915000000 927000000" >> /etc/sysctl.conf

echo "net.ipv4.tcp_max_orphans = 3276800" >> /etc/sysctl.conf

#net.ipv4.tcp_fin_timeout = 30

#net.ipv4.tcp_keepalive_time = 120

echo "net.ipv4.ip_local_port_range = 1024  65535" >> /etc/sysctl.conf

以上是“CentOS5.x系統(tǒng)內(nèi)核優(yōu)化的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前標(biāo)題:CentOS5.x系統(tǒng)內(nèi)核優(yōu)化的示例分析
瀏覽路徑:http://muchs.cn/article20/ijocco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計、建站公司品牌網(wǎng)站制作、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)