亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux常用內核網絡參數及修改方法是什么

發布時間:2022-01-21 11:30:27 來源:億速云 閱讀:241 作者:柒染 欄目:開發技術

本篇文章為大家展示了Linux常用內核網絡參數及修改方法是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Linux常用內核參數

參數描述
net.core.rmem_default默認的TCP數據接收窗口大小(字節)。
net.core.rmem_max最大的TCP數據接收窗口(字節)。
net.core.wmem_default默認的TCP數據發送窗口大小(字節)。
net.core.wmem_max最大的TCP數據發送窗口(字節)。
net.core.netdev_max_backlog當內核處理速度比網卡接收速度慢時,這部分多出來的包就會被保存在網卡的接收隊列上,而該參數說明了這個隊列的數量上限。在每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。
net.core.somaxconn該參數定義了系統中每一個端口最大的監聽隊列的長度,是個全局參數。該參數和net.ipv4.tcp_max_syn_backlog有關聯,后者指的是還在三次握手的半連接的上限,該參數指的是處于ESTABLISHED的數量上限。若您的ECS實例業務負載很高,則有必要調高該參數。listen(2)函數中的參數backlog 同樣是指明監聽的端口處于ESTABLISHED的數量上限,當backlog大于net.core.somaxconn時,以net.core.somaxconn參數為準。
net.core.optmem_max表示每個套接字所允許的最大緩沖區的大小。
net.ipv4.tcp_mem確定TCP棧應該如何反映內存使用,每個值的單位都是內存頁(通常是4KB)。
第一個值是內存使用的下限。
第二個值是內存壓力模式開始對緩沖區使用應用壓力的上限。
第三個值是內存使用的上限。在這個層次上可以將報文丟棄,從而減少對內存的使用。對于較大的BDP可以增大這些值(其單位是內存頁而不是字節)。
net.ipv4.tcp_rmem為自動調優定義Socket使用的內存。
第一個值是為Socket接收緩沖區分配的最少字節數。
第二個值是默認值(該值會被rmem_default覆蓋),緩沖區在系統負載不重的情況下可以增長到這個值。
第三個值是接收緩沖區空間的最大字節數(該值會被rmem_max覆蓋)。
net.ipv4.tcp_wmem為自動調優定義Socket使用的內存。
第一個值是為Socket發送緩沖區分配的最少字節數。
第二個值是默認值(該值會被wmem_default覆蓋),緩沖區在系統負載不重的情況下可以增長到這個值。
第三個值是發送緩沖區空間的最大字節數(該值會被wmem_max覆蓋)。
net.ipv4.tcp_keepalive_timeTCP發送keepalive探測消息的間隔時間(秒),用于確認TCP連接是否有效。
net.ipv4.tcp_keepalive_intvl探測消息未獲得響應時,重發該消息的間隔時間(秒)。
net.ipv4.tcp_keepalive_probes在認定TCP連接失效之前,最多發送多少個keepalive探測消息。
net.ipv4.tcp_sack啟用有選擇的應答(1表示啟用),通過有選擇地應答亂序接收到的報文來提高性能,讓發送者只發送丟失的報文段,(對于廣域網通信來說)這個選項應該啟用,但是會增加對CPU的占用。
net.ipv4.tcp_fack啟用轉發應答,可以進行有選擇應答(SACK)從而減少擁塞情況的發生,這個選項也應該啟用。
net.ipv4.tcp_timestampsTCP時間戳(會在TCP包頭增加12B),以一種比重發超時更精確的方法(參考RFC 1323)來啟用對RTT的計算,為實現更好的性能應該啟用這個選項。
net.ipv4.tcp_window_scaling啟用RFC 1323定義的window scaling,要支持超過64KB的TCP窗口,必須啟用該值(1表示啟用),TCP窗口最大至1GB,TCP連接雙方都啟用時才生效。
net.ipv4.tcp_syncookies該參數表示是否打開TCP同步標簽(SYN_COOKIES),內核必須開啟并編譯CONFIG_SYN_COOKIES,SYN_COOKIES可以防止一個套接字在有過多試圖連接到達時,引起過載。默認值0表示關閉。
當該參數被設置為1,且SYN_RECV隊列滿了之后,內核會對SYN包的回復做一定的修改,即在響應的SYN+ACK包中,初始的序列號是由源IP+Port、目的IP+Port及時間這五個參數共同計算出一個值組成精心組裝的TCP包。由于ACK包中確認的序列號并不是之前計算出的值,惡意攻擊者無法響應或誤判,而請求者會根據收到的SYN+ACK包做正確的響應。啟用net.ipv4.tcp_syncookies后,會忽略net.ipv4.tcp_max_syn_backlog
net.ipv4.tcp_tw_reuse表示是否允許將處于TIME-WAIT狀態的Socket(TIME-WAIT的端口)用于新的TCP連接。
net.ipv4.tcp_tw_recycle能夠更快地回收TIME-WAIT套接字。
net.ipv4.tcp_fin_timeout對于本端斷開的Socket連接,TCP保持在FIN-WAIT-2狀態的時間(秒)。對方可能會斷開連接或一直不結束連接或不可預料的進程死亡。
net.ipv4.ip_local_port_range表示TCP/UDP協議允許使用的本地端口號。
net.ipv4.tcp_max_syn_backlog該參數決定了系統中處于SYN_RECV狀態的TCP連接數量。SYN_RECV狀態指的是當系統收到SYN后,作為SYN+ACK響應后等待對方回復三次握手階段中的最后一個ACK的階段。對于還未獲得對方確認的連接請求,可保存在隊列中的最大數目。如果服務器經常出現過載,可以嘗試增加這個數字。默認為1024。
net.ipv4.tcp_low_latency允許TCP/IP棧適應在高吞吐量情況下低延時的情況,這個選項應該禁用。
net.ipv4.tcp_westwood啟用發送者端的擁塞控制算法,它可以維護對吞吐量的評估,并試圖對帶寬的整體利用情況進行優化,對于WAN通信來說應該啟用這個選項。
net.ipv4.tcp_bic為快速長距離網絡啟用Binary Increase Congestion,這樣可以更好地利用以GB速度進行操作的鏈接,對于WAN通信應該啟用這個選項。
net.ipv4.tcp_max_tw_buckets該參數設置系統的TIME_WAIT的數量,如果超過默認值則會被立即清除。默認為180000。
net.ipv4.tcp_synack_retries指明了處于SYN_RECV狀態時重傳SYN+ACK包的次數。
net.ipv4.tcp_abort_on_overflow設置該參數為1時,當系統在短時間內收到了大量的請求,而相關的應用程序未能處理時,就會發送Reset包直接終止這些鏈接。建議通過優化應用程序的效率來提高處理能力,而不是簡單地Reset。默認值為0。
net.ipv4.route.max_size內核所允許的最大路由數目。
net.ipv4.ip_forward接口間轉發報文。
net.ipv4.ip_default_ttl報文可以經過的最大跳數。
net.netfilter.nf_conntrack_tcp_timeout_established在指定之間內,已經建立的連接如果沒有活動,則通過iptables進行清除。
net.netfilter.nf_conntrack_max哈希表項最大值。

查看和修改Linux實例內核參數

在修改內核參數前,需要注意以下幾點:

  • 從實際需求出發,盡量有相關數據的支撐,不建議隨意調整內核參數。

  • 了解參數的具體作用,需注意同類型或版本的環境中,內核參數可能有所不同。

  • 備份ECS實例中的重要數據。關于如何備份數據請參見創建快照。

本文提供以下兩種修改Linux實例內核參數的方法。

方法一:通過/proc/sys/目錄查看和修改內核參數

/proc/sys/目錄是Linux內核在啟動后生成的偽目錄,其目錄下的net文件夾中存放了當前系統中開啟的所有內核參數,目錄樹結構與參數的完整名稱相關,如net.ipv4.tcp_tw_recycle,它對應的文件是/proc/sys/net/ipv4/tcp_tw_recycle文件,文件的內容就是參數值。方法一中修改的參數值僅在當前運行中生效,系統重啟后會回滾到歷史值,一般用于臨時性驗證修改的效果。若需要永久性修改,請參見方法二。

  • 查看內核參數:使用cat命令查看對應文件的內容,執行以下命令,查看net.ipv4.tcp_tw_recycle的值。

    cat /proc/sys/net/ipv4/tcp_tw_recycle
  • 修改內核參數:使用echo命令修改內核參數對應的文件,執行以下命令,將net.ipv4.tcp_tw_recycle的值修改為0。

    echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle
方法二:通過sysctl.conf文件查看和修改內核參數
  • 查看內核參數:執行sysctl -a命令,查看當前系統中生效的所有參數,系統顯示類似如下。

    net.ipv4.tcp_app_win = 31
    net.ipv4.tcp_adv_win_scale = 2
    net.ipv4.tcp_tw_reuse = 0
    net.ipv4.tcp_frto = 2
    net.ipv4.tcp_frto_response = 0
    net.ipv4.tcp_low_latency = 0
    net.ipv4.tcp_no_metrics_save = 0
    net.ipv4.tcp_moderate_rcvbuf = 1
    net.ipv4.tcp_tso_win_divisor = 3
    net.ipv4.tcp_congestion_control = cubic
    net.ipv4.tcp_abc = 0
    net.ipv4.tcp_mtu_probing = 0
    net.ipv4.tcp_base_mss = 512
    net.ipv4.tcp_workaround_signed_windows = 0
    net.ipv4.tcp_challenge_ack_limit = 1000
    net.ipv4.tcp_limit_output_bytes = 262144
    net.ipv4.tcp_dma_copybreak = 4096
    net.ipv4.tcp_slow_start_after_idle = 1
    net.ipv4.cipso_cache_enable = 1
    net.ipv4.cipso_cache_bucket_size = 10
    net.ipv4.cipso_rbm_optfmt = 0
    net.ipv4.cipso_rbm_strictvalid = 1
  • 通過以下兩種方式,修改內核參數。

    說明:調整內核參數后,內核處于不穩定狀態,請務必重啟實例。

    • 執行以下命令,臨時修改內核參數。
      /sbin/sysctl -w kernel.parameter="[$Example]"


      說明:[$Example]為參數值,如sysctl -w net.ipv4.tcp_tw_recycle="0"命令,將參數值改為0。

    • 通過修改配置文件的方式修改內核參數。

  1. 執行以下命令,修改/etc/sysctl.conf文件中的參數。
    vi /etc/sysctl.conf

  2. 執行以下命令,使配置生效。
    /sbin/sysctl -p

上述內容就是Linux常用內核網絡參數及修改方法是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

博爱县| 响水县| 宁阳县| 锡林浩特市| 项城市| 榆树市| 岗巴县| 会昌县| 河池市| 台北县| 闵行区| 潜江市| 卓尼县| 视频| 金寨县| 黄梅县| 改则县| 塔城市| 孝义市| 喀喇沁旗| 北流市| 绥江县| 乐至县| 资阳市| 湖北省| 衢州市| 张家口市| 临邑县| 婺源县| 新绛县| 汉中市| 邵阳县| 抚顺县| 兴安县| 大连市| 长垣县| 侯马市| 增城市| 阳曲县| 榆树市| 政和县|