linux socket 緩衝區預設大小

2021-09-26 15:11:30 字數 1068 閱讀 3177

1. tcp 收發緩衝區預設值

[root@ www.linuxidc.com]#cat /proc/sys/net/ipv4/tcp_rmem

4096    87380   4161536

87380  :tcp接收緩衝區的預設值

[root@ www.linuxidc.com]#cat /proc/sys/net/ipv4/tcp_wmem

4096    16384   4161536

16384  : tcp 傳送緩衝區的預設值

2. tcp 或udp收發緩衝區最大值

[root@ www.linuxidc.com]#cat /proc/sys/net/core/rmem_max

131071

131071:tcp 或 udp 接收緩衝區最大可設定值的一半。

也就是說呼叫 setsockopt(s, sol_socket, so_rcvbuf, &rcv_size, &optlen);  時rcv_size 如果超過 131071,那麼

getsockopt(s, sol_socket, so_rcvbuf, &rcv_size, &optlen); 去到的值就等於 131071 * 2 = 262142

[root@ www.linuxidc.com]#cat /proc/sys/net/core/wmem_max

131071

131071:tcp 或 udp 傳送緩衝區最大可設定值得一半。

跟上面同乙個道理

3. udp收發緩衝區預設值

[root@ www.linuxidc.com]#cat /proc/sys/net/core/rmem_default

111616

111616:udp傳送緩衝區的預設值

4. tcp 或udp收發緩衝區最小值

tcp 或udp接收緩衝區的最小值為 256 bytes,由核心的巨集決定;

tcp 或udp傳送緩衝區的最小值為 2048 bytes,由核心的巨集決定

Linux socket預設緩衝區的配置檔案

linux下接收與傳送緩衝區的預設值儲存在 proc sys net core rmem default,proc sys net core wmem default linux下socket緩衝區大小的預設值在 proc虛擬檔案系統中有配置,其中的第乙個表示最小值,第二個表示預設值,第三個表示最大...

輸入緩衝區與輸出緩衝區

本博文通過一段程式來理解輸入緩衝區與輸出緩衝區。程式如下 author wanghao created time thu 17 may 2018 06 03 12 ampdt file name test.c description include int main int argc,const c...

使用者程序緩衝區和核心緩衝區

常常聽到有程式設計師會跟你討論 我們在讀寫檔案的時候,系統是有快取的 但實際上有一部分人把使用者程序緩衝區和系統空間的緩衝區的概念混淆了,包括這兩種緩衝區的用法和所要解決的問題,還有其它類似的概念。本文就來區分一下不同的緩衝區概念 主要針對類unix平台 使用者程序和作業系統的關係 首先我用一張圖來...