Linux 系統TCP鏈接內存大小限制 調優

系統TCP鏈接內存大小限制緩存

  • TCP的每個鏈接請求,讀寫都須要佔用系統內存資源,可根據系統配置,對TCP鏈接數,內存大小,限制調優。

查看系統內存資源併發

記錄內存 詳情:cat /proc/meminfo
命令:free -m

TCP鏈接內存限制 內核調優socket

修改文件:/etc/sysctl.conftcp

生效命令:sysctl -p /etc/sysctl.confspa

一、限制TCP總鏈接內存使用code

# 內核分給TCP的內存大小範圍,單位爲page。
# 第一個數字表示,當 tcp 使用的 page 少於 196608 時,kernel 不對其進行任何的干預
# 第二個數字表示,當 tcp 使用了超過 262144 的 pages 時,kernel 會進入 「memory pressure」 壓力模式
# 第三個數字表示,當 tcp 使用的 pages 超過 393216 時就會報:Out of socket memory。
net.ipv4.tcp_mem = 196608 262144 393216

注:最大範圍可根據系統內存大小進行設置。
注:內核分配給TCP鏈接的內存,單位是Page,1 Page = 4096 Bytes。
注:查看分配給TCP鏈接得內存:getconf PAGESIZEblog

二、限制TCP單鏈接讀寫內存使用ip

# TCP鏈接讀緩存大小。最小內存 缺省內存 最大內存(單位爲:Byte字節)
net.ipv4.tcp_rmem = 4096 4096 1073741824

# TCP鏈接寫緩存大小。最小內存 缺省內存 最大內存(單位爲:Byte字節)
net.ipv4.tcp_wmem = 4096 4096 1073741824

注:4.0G TCP內存能容納的鏈接數讀寫相加: 4000M/8 = 500K = 50萬併發
注:TCP請求讀寫緩存可跟據程序平均請求資源大小設置。內存

相關文章
相關標籤/搜索