nf_conntrack內核模塊常見問題

nf_conntrack內核模塊常見問題

  • 問題描述
  • 排查步驟
    • 前置條件:啟用nf_conntrack內核模塊
    • 檢查nf_conntrack配置
  • 解決辦法1:半數減少nf_conntrack buckets的值
  • 解決辦法2:加倍調大m.min_free_kbytes值
  • 解決辦法3:Linux社區權威答復-忽略告警

問題描述

內核報錯 falling back to vmalloc


排查步驟


前置條件:啟用nf_conntrack內核模塊

檢查nf_conntrack內核模塊是否啟用

# 檢查當前系統是否已經安裝了 nf_conntrack 內核模塊
lsmod | grep nf_conntrack

image.png
image.png
如果輸出中沒有nf_conntrack,則未啟用該模塊

# 低版本內核啟用內核模塊
modprobe nf_conntrack_ipv4# 高版本內核nf_conntrack_ipv4被nf_conntrack替換了
modprobe nf_conntrack

檢查nf_conntrack配置

參數默認值解釋
net.netfilter.nf_conntrack_buckets65536網絡連接跟蹤表(conntrack table)的桶(bucket)數量
net.netfilter.nf_conntrack_max262144連接跟蹤表中可以存儲的最大連接跟蹤條目數
net.nf_conntrack_max262144網絡連接跟蹤表(conntrack table)的最大連接數
# 檢查nf_conntrack配置
sysctl -a | grep -i nf_conntrack# 查看網絡連接跟蹤表(conntrack table)的桶(bucket)數量
# 查看連接跟蹤表中可以存儲的最大連接跟蹤條目數
# 查看網絡連接跟蹤表(conntrack table)的最大連接數
sysctl -a|grep -E "net.netfilter.nf_conntrack_buckets|net.netfilter.nf_conntrack_max|net.nf_conntrack_max"

image.png

# 查看連接跟蹤模塊(nf_conntrack)中的哈希表大小
# net.netfilter.nf_conntrack_buckets 參數是 hashsize 參數的一個別名
## 較大的哈希表大小可以支持更多的連接跟蹤,但也會占用更多的內存
cat /sys/module/nf_conntrack/parameters/hashsize# 通常和net.netfilter.nf_conntrack_buckets的值是一樣的

image.png


解決辦法1:半數減少nf_conntrack buckets的值

https://blog.csdn.net/whatday/article/details/107552387

出現報錯localhost kernel: nf_conntrack: falling back to vmalloc.說明nf_conntrack buckets設置過大,按半數減小,進行測試

# 修改連接跟蹤模塊(nf_conntrack)中的哈希表大小
echo 3072200 > /sys/module/nf_conntrack/parameters/hashsize# 修改連接跟蹤表中可以存儲的最大連接跟蹤條目數
sysctl -w net.netfilter.nf_conntrack_max=2097152# 修改網絡連接跟蹤表(conntrack table)的最大連接數
sysctl -w net.nf_conntrack_max=2097152

image.png

如果仍然報錯誤falling back to vmalloc,繼續按半數減小,進行測試。


解決辦法2:加倍調大m.min_free_kbytes值

https://access.redhat.com/solutions/6958239
紅帽和Oracle官方建議
vm.min_free_kbytes該參數是:內核操作保留的最少可用RAM,該值不應超過系統內存的 0.4%2GB,一般調試方法是加倍 vm.min_free_kbytes 的值。

vm.min_free_kbytes

關鍵是在于調整內存的內核參數的時候!調大的風險遠大于調小的風險!如果有人想將 vm.min_free_kbytes 調大,千萬要注意當前的水位,如果一旦調大 vm.min_free_kbytes 立刻觸
directreclaim,可能會導致機器hang住,ping的通,ssh不上,影響業務!hang住的原因是當 vm.min_free_kbytes 是512M的時候,此時 free只有1G,此時正常運行,此時如果調大
vm.min_free_kbytes 到5G,將會direct reclaim失敗。


解決辦法3:Linux社區權威答復-忽略告警

該告警并無實質性影響,RHEL8中已經刪除該告警
image.png

這是Linux內核社區 關于消除該告警的補丁郵件
https://lore.kernel.org/lkml/55A8C428.1000005@gmx.de/T/

image.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166332.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166332.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166332.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

什么是 npm —— 寫給初學者的編程教程

原文鏈接: 什么是 npm —— 寫給初學者的編程教程 自 2009 年以來,Node.js 一直席卷全球。成千上萬個系統基于 Node.js 構建,促使開發者在社區宣稱“JavaScript 正在吞噬軟件”。 Node 成功的主要因素之一是它廣受歡迎的軟件包管理器——np…

前k個高頻單詞(C++實現)

前k個高頻單詞 題目思路代碼代碼講解 題目 思路 通過統計字符串的出現次數,并根據出現次數和字典序對字符串進行排序,找出出現頻率最高的前k個字符串。使用一個自定義的仿函數作為排序的比較函數,通過map容器進行統計,然后將結果…

Linux:strace 簡介

文章目錄 1. 前言2. 什么是 strace ?3. 使用 strace3.1 追蹤指定進程3.1.1 通過程序名追蹤進程3.1.2 通過 進程 ID (PID) 追蹤程序3.1.3 追蹤 子進程 或 線程 3.2 系統調用情況統計3.3 追蹤過濾3.3.1 追蹤指定的系統調用集合3.3.2 追蹤對指定文件句柄集合操作的系統調用3.3.3 …

前端已死?看看我的秋招上岸歷程

背景 求職方向:web前端 技術棧:vue2、springboot(學校開過課,簡單的學習過) 實習經歷:兩段,但都是實訓類的,說白了就是類似培訓,每次面試官問起時我也會坦誠交代&…

關于鴻蒙網絡請求的問題

https://developer.huawei.com/consumer/cn/forum/topic/0204136145853212268?fid0102683795438680754 鴻蒙OS 代碼 import http from ohos.net.http;export const httpUtils (url: string, data: any) > {return new Promise((resolve, reject) > {let httpRequest …

創意設計與個性化定制:酒精壁爐的獨特之處

在當今家居裝飾的潮流中,人們越來越注重個性化和創意,而酒精壁爐正是在這一趨勢中嶄露頭角。它不僅成為家居的溫馨之選,更因其設計的靈活性而成為創意焦點,吸引了越來越多注重家居設計的人群。 酒精壁爐的設計靈活性為家居注入了新…

vue的package.json詳細說明

前言 package.json 文件是一個非常重要的文件,它用于存儲關于項目的元信息以及依賴項。在 Vue.js 項目中,package.json 文件描述了項目的名稱、版本、描述、作者、依賴項、腳本命令等信息。 說明 package.json 文件常見的 詳細說明: 1.名稱 (name): 項目的名稱。遵循反向…

工作流引擎架構設計

一個應用MIS的系統的架構離不開工作流引擎,具有流程引擎思維的架構人員設計系統的時候就有流程的思維,他區別于過程思維,過程思維開發出來的系統,用戶面對的是菜單、模塊。而流程思維設計出來的系統就是發起、待辦、在途、查詢、近…

SELinux refpolicy詳解(2)

接前一篇文章:SELinux refpolicy詳解(1) 本文內容引自: Documentation SELinuxProject/refpolicy Wiki GitHub 4. 入門指南 文檔是參考策略的主要目標之一。入門指南(https://github.com/SELinuxProject/refpolicy/wiki/GettingStarted)提供了有關編寫參考策略模塊的…

關于vue3項目中 vite.config.js項目配置 多個請求地址代理配置

關于VUE3 vite.config.js文件配置相關 提示:本文記錄了我們項目中使用到了多個不同的接口請求前綴地址配置代理,如果有更好的優化方案歡迎大佬指點呀: 以下是我最近項目中的vite.config.js文件配置,由于剛開始vue3不久&#xff…

JS 類型轉換機制

這篇寫得不錯: 百度安全驗證 包括顯示轉換(就是調用函數)、隱式轉換(運算符 - 時自動轉換成數字/字符串) 注意到: abc-1 //NaN 非法字符轉換為數字 結果是NaN

LeetCode 1410. HTML 實體解析器:字符串匹配

【LetMeFly】1410.HTML 實體解析器:字符串匹配 力扣題目鏈接:https://leetcode.cn/problems/html-entity-parser/ 「HTML 實體解析器」 是一種特殊的解析器,它將 HTML 代碼作為輸入,并用字符本身替換掉所有這些特殊的字符實體。…

【點云surface】基于多項式重建的平滑和法線估計

1 介紹 基于多項式重建的平滑和法線估計(Smoothing and normal estimation based on polynomial reconstruction)是一種常用的點云處理方法,用于平滑點云數據并估計每個點的法線信息。 該方法基于Moving Least Squares(MLS&…

docker安裝nacos,實現和mysql容器的通信

1.下載nacos鏡像 docker pull nacos/nacos-server2. 啟動nacos 啟動命令如下: docker run -d -p 8848:8848 --name nacos \ -e JVM_XMS256m \ -e JVM_XMX256m \ -e MODEstandalone \ -e SPRING_DATASOURCE_PLATFORMmysql \ -e MYSQL_SERVICE_HOST192.168.131.223…

連接的原理(待修改)

搞數據庫?個避不開的概念就是Join,翻譯成中?就是連接。 相信很多?伙伴在初學連接的時候有些?臉懵逼,理解了連接的語義之后?可能不明?各個表中的記 錄到底是怎么連起來的,以?于在使?的時候常常陷?下邊兩種誤區: 誤區?&…

linux磁盤清理

目錄 排查過程1、查看磁盤占用情況2. 按照占用大小進行倒排-當前目錄及其子目錄3.當前目錄磁盤占用情況 清理命令 排查過程 1、查看磁盤占用情況 df -hdf -h 命令用于顯示磁盤空間的使用情況,以人類可讀的方式呈現,其中:df 是 “disk free”…

“AI就緒”新計劃,亞馬遜云科技到2025年向200萬人提供免費AI技能培訓

AI就緒(AI Ready)計劃 到2025年為全球200萬人提供 免費人工智能(AI)技能培訓和教育資源 亞馬遜云科技宣布啟動“AI就緒(AI Ready)”計劃,旨在到2025年為全球200萬人提供免費人工智能&#xff08…

Python與設計模式--適配器模式

7-Python與設計模式–適配器模式 一、外包人員系統兼容 假設某公司A與某公司B需要合作,公司A需要訪問公司B的人員信息,但公司A與公司B協議接口不同, 該如何處理?先將公司A和公司B針對各自的人員信息訪問系統封裝了對象接口。cla…

易點易動固定資產管理系統:全生命周期管理的理想選擇

在現代企業中,固定資產管理是一項至關重要的任務。為了確保企業的資產安全、提高資產利用率,全面管理固定資產的生命周期至關重要。易點易動固定資產管理系統為企業提供了一種全面的解決方案,實現了從固定資產申購、采購、入庫、領用、退庫、…

linux 內存回收mglru算法代碼注釋2

mglru與原lru算法的兼容 舊的lru算法有active與inactive兩代lru,可參考linux 內存回收代碼注釋(未實現多代lru版本)-CSDN博客 新的算法在引入4代lru的同時,還引入了tier的概念。 新舊算法的切換的實現在lru_gen_change_state&a…