1、系統(tǒng)原值查詢
[lyb@admin autopush]$ cat /proc/sys/net/core/rmem_max
4194304
[lyb@admin autopush]$ cat /proc/sys/net/core/wmem_max
1048576
[lyb@admin autopush]$ cat /proc/sys/net/ipv4/tcp_rmem
4096 87380 4194304
[lyb@admin autopush]$ cat /proc/sys/net/ipv4/tcp_wmem
4096 16384 4194304
[lyb@admin autopush]$ cat /proc/sys/net/ipv4/tcp_mem
3073344 4097792 6146688
2、設(shè)置值
#如此操作后的設(shè)置在系統(tǒng)重啟后會(huì)恢復(fù)為原值
echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max
echo "4096 873800 16777216" > /proc/sys/net/ipv4/tcp_rmem
echo "4096 873800 16777216" > /proc/sys/net/ipv4/tcp_wmem
echo "3073344 4097792 16777216" > /proc/sys/net/ipv4/tcp_mem
3、參數(shù)解析
tcp_wmem(3個(gè)INTEGER變量):?min,?default,?max
-
**min:**為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存最小值。每個(gè)tcp socket都可以在建議以后都可以使用它。默認(rèn)值為4096(4K)。
-
**default:**為TCP socket預(yù)留用于發(fā)送緩沖的內(nèi)存數(shù)量,默認(rèn)情況下該值會(huì)影響其它協(xié)議使用的net.core.wmem_default?值,一般要低于net.core.wmem_default的值。默認(rèn)值為16384(16K)。
-
**max:?**用于TCP socket發(fā)送緩沖的內(nèi)存最大值。該值不會(huì)影響net.core.wmem_max,"靜態(tài)"選擇參數(shù)SO_SNDBUF則不受該值影響。默認(rèn)值為131072(128K)。(對于服務(wù)器而言,增加這個(gè)參數(shù)的值對于發(fā)送數(shù)據(jù)很有幫助)
tcp_mem(3個(gè)INTEGER變量):low,?pressure,?high
-
**low:**當(dāng)TCP使用了低于該值的內(nèi)存頁面數(shù)時(shí),TCP不會(huì)考慮釋放內(nèi)存。(理想情況下,這個(gè)值應(yīng)與指定給?tcp_wmem?的第?2?個(gè)值相匹配?-?這第?2?個(gè)值表明,最大頁面大小乘以最大并發(fā)請求數(shù)除以頁大小?(131072 * 300 / 4096)。?)
-
**pressure:**當(dāng)TCP使用了超過該值的內(nèi)存頁面數(shù)量時(shí),TCP試圖穩(wěn)定其內(nèi)存使用,進(jìn)入pressure模式,當(dāng)內(nèi)存消耗低于low值時(shí)則退出pressure狀態(tài)。(理想情況下這個(gè)值應(yīng)該是?TCP?可以使用的總緩沖區(qū)大小的最大值?(204800 * 300 / 4096)。?)
-
**high:**允許所有tcp sockets用于排隊(duì)緩沖數(shù)據(jù)報(bào)的頁面量。(如果超過這個(gè)值,TCP?連接將被拒絕,這就是為什么不要令其過于保守?(512000 * 300 / 4096)?的原因了。 在這種情況下,提供的價(jià)值很大,它能處理很多連接,是所預(yù)期的?2.5?倍;或者使現(xiàn)有連接能夠傳輸?2.5?倍的數(shù)據(jù)。 我的網(wǎng)絡(luò)里為192000 300000 732000)
4、特別提醒
對/proc/sys/net目錄下內(nèi)容的修改都是臨時(shí)的,任何修改在系統(tǒng)重啟后都會(huì)丟失。若要永久性設(shè)置,則在文件/etc/sysctl.conf中設(shè)置如下:文章來源:http://www.zghlxwxcb.cn/news/detail-668417.html
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_mem = 6177504 8236672 16777216
net.ipv4.tcp_rmem = 4096 873800 16777216
net.ipv4.tcp_wmem = 4096 873800 16777216
/etc/sysctl.conf是一個(gè)允許你改變正在運(yùn)行中的Linux系統(tǒng)的接口。它包含一些TCP/IP堆棧和虛擬內(nèi)存系統(tǒng)的高級(jí)選項(xiàng),可用來控制Linux網(wǎng)絡(luò)配置,由于/proc/sys/net目錄內(nèi)容的臨時(shí)性,建議把TCPIP參數(shù)的修改添加到/etc/sysctl.conf文件, 然后保存文件,使用命令“/sbin/sysctl –p”使之立即生效。文章來源地址http://www.zghlxwxcb.cn/news/detail-668417.html
到了這里,關(guān)于TCP緩沖區(qū)參數(shù)調(diào)優(yōu)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!