您好,登錄后才能下訂單哦!
小編給大家分享一下Rhel5.x和CentOS5.x內(nèi)核優(yōu)化的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
系統(tǒng)優(yōu)化項(xiàng):
kernel.sysrq = 0
#使用sysrq組合鍵是了解系統(tǒng)目前運(yùn)行情況,為安全起見設(shè)為0關(guān)閉
kernel.core_uses_pid = 1
#控制core文件的文件名是否添加pid作為擴(kuò)展
kernel.msgmnb = 65536
#每個消息隊(duì)列的大小限制,以字節(jié)為單位
kernel.msgmni = 16
#整個系統(tǒng)最大消息隊(duì)列數(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)進(jìn)行大量的連續(xù)IO會使用較大的值
fs.aio-max-size = 131072
#異步IO的最大大小
fs.file-max = 65536
#表示文件句柄的最大數(shù)量
net.core.wmem_default = 8388608
#為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存默認(rèn)值(單位:字節(jié))
net.core.wmem_max = 16777216
#為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存最大值(單位:字節(jié))
net.core.rmem_default = 8388608
#為TCP socket預(yù)留用于接收緩沖的內(nèi)存默認(rèn)值(單位:字節(jié))
net.core.rmem_max = 16777216
#為TCP socket預(yù)留用于接收緩沖的內(nèi)存最大值(單位:字節(jié))
net.core.somaxconn = 262144
#listen(函數(shù))的默認(rèn)參數(shù),掛起請求的最大數(shù)量限制
網(wǎng)絡(luò)優(yōu)化項(xiàng):
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)一個路由失敗后多長時間跳到另一個默認(rèn)是300
net.ipv4.ip_local_port_range = 1024 65000
#對外連接端口范圍,缺省情況下很小:32768到61000,改為1024到65000。
net.ipv4.tcp_max_tw_buckets = 6000
#表示系統(tǒng)同時保持TIME_WAIT套接字的最大數(shù)量,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息,默認(rèn)為180000
net.ipv4.tcp_sack = 1
#在高延遲的連接中,SACK 對于有效利用所有可用帶寬尤其重要。高延遲會導(dǎo)致在任何給定時刻都有大量正在傳送的包在等待應(yīng)答。在 Linux 中,除非得到應(yīng)答或不再需要,這些包將一直存放在重傳隊(duì)列中。這些包按照序列編號排隊(duì),但不存在任何形式的索引。當(dāng)需要處理一個收到的 SACK 選項(xiàng)時,TCP 協(xié)議棧必須在重傳隊(duì)列中找到應(yīng)用了 SACK 的包。重傳隊(duì)列越長,找到所需的數(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)核處理這些包的速率快時,允許送到隊(duì)列的數(shù)據(jù)包的最大數(shù)目
net.ipv4.tcp_window_scaling = 1
#TCP窗口擴(kuò)大因子支持. 如果TCP窗口最大超過65535(64K), 設(shè)置該數(shù)值為1 。Tcp窗口擴(kuò)大因子是一個新選項(xiàng),一些新的實(shí)現(xiàn)才會包含該選項(xiàng),為了是新舊協(xié)議兼容,做了如下約定:1、只有主動連接方的第一個syn可以發(fā)送窗口擴(kuò)大因子;2、被動連接方接收到帶有窗口擴(kuò)大因子的選項(xiàng)后,如果支持,則可以發(fā)送自己的窗口擴(kuò)大因子,否則忽略該選項(xiàng);3、如果雙方支持該選項(xiàng),那么后續(xù)的數(shù)據(jù)傳輸則使用該窗口擴(kuò)大因子。如果對方不支持wscale,那么它不應(yīng)該響應(yīng) wscale 0,而且在收到46的窗口時不應(yīng)該發(fā)送1460的數(shù)據(jù);如果對方支持wscale,那么它應(yīng)該大量發(fā)送數(shù)據(jù)來增加吞吐量,不至于通過關(guān)閉wscale來解決問題,如果是使用普遍的協(xié)議實(shí)現(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隊(duì)列的長度,默認(rèn)為1024,加大隊(duì)列長度為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,默認(rèn)值是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進(jìn)入內(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)核才徹底放棄,認(rèn)為該連接已失效.
最后使配置立即生效,可使用如下命令:
#/sbin/sysctl -p
我們在性能優(yōu)化時,首先要設(shè)定性能優(yōu)化需要達(dá)到的目標(biāo),然后尋找瓶頸,調(diào)整參數(shù),達(dá)到優(yōu)化目的。尋找性能瓶頸是比較辛苦的,要從大范圍,通過很多用例和測試,不斷的縮小范圍,最終確定瓶頸點(diǎn), 有很多的參數(shù)要邊測試邊調(diào)整,這就需要我們更多的耐心和堅(jiān)持。
以上是“Rhel5.x和CentOS5.x內(nèi)核優(yōu)化的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。