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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/184331.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++初阶】四、类和对象(构造函数、析构函数、拷贝构造函数、赋值运算符重载函数)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】三、类和对象 (面向过程、class类、类的访问限定符和封装、类的实例化、类对象模型、this指针) -CSDN博客 引入:类的六个默认成员函数…

Web(6)Metasploit缓冲区溢出漏洞

利用ms17_010漏洞建立会话: 原理: 因为window低级版本中存在漏洞,端口445.SMB是一个协议名,全称是Server Message Block(服务器消息快协议),用于计算机之间共享文件,打印机&#x…

智驾芯片全矩阵「曝光」,这家企业的车载品牌正式官宣

随着汽车智能化加速,智能驾驶芯片格局逐渐清晰。 针对L0-L2,业内基本采用智能前视一体机方案;要实现高速NOA、城市NOA等更为高阶的智驾功能等,则基本采用域控制器方案。从前视一体机至域控,再逐步演进到舱驾一体、中央…

eclipse项目移到idea上部署运行

1.配置web模块 另外,模块这里,也要加上Spring 2.配置Artifact (用于tomcat) 就是从上面配置的web模块,产生的工件 3.添加lib 一般是在web-inf/lib , 遇到的坑: jdk版本问题,这里…

加速软件开发:自动化测试在持续集成中的重要作用!

持续集成的自动化测试 如今互联网软件的开发、测试和发布,已经形成了一套非常标准的流程,最重要的组成部分就是持续集成(Continuous integration,简称CI,目前主要的持续集成系统是Jenkins)。 那么什么是持…

6.显示评论 + 添加评论

1.显示评论 数据层:根据实体查询一页评论数据、根据实体查询评论的数量业务层:处理查询评论的业务、处理查询评论数量的业务表现层:显示帖子详情数据时,同时显示该帖子所有的评论数据 1.1 数据访问层 entity_type:实体…

linux 内存回收mglru算法代码注释2

mglru与原lru算法的兼容 旧的lru算法有active与inactive两代lru,可参考linux 内存回收代码注释(未实现多代lru版本)-CSDN博客 新的算法在引入4代lru的同时,还引入了tier的概念。 新旧算法的切换的实现在lru_gen_change_state&a…

机器学习探索计划——数据集划分

文章目录 导包手写数据划分函数使用sklearn内置的划分数据函数stratifyy理解举例 导包 import numpy as np from matplotlib import pyplot as plt from sklearn.datasets import make_blobs手写数据划分函数 x, y make_blobs(n_samples 300,n_features 2,centers 3,clus…

【UE5】资源(Asset)

了解UE游戏的基本构成 资源(Asset): 在UE中,资源(Asset)是指游戏中使用到的各种素材,例如模型、纹理、材质、声音、动画、蓝图、数据表格、关卡等(通常以uasset结尾),他…

freeswitch设置多个execute_on_media

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 fs中有非常多的接口和通道变量,使用方式多变。 官方文档有时候也仅仅是介绍了最基本的使用方法和格式。 环境 centos:CentOS release 7.0 (Final)或以上版本 freeswitch:v1.6 G…

办公技巧:Word中插入图片、形状、文本框排版技巧

目录 一、插入图片排版技巧 二、添加形状排版技巧 三、插入“文本框”排版技巧 我们平常在制作word时候经常会遇到插入选项卡下的图片、形状和文本框这三种情况下,那么如何使得Word文档当中添加这三个元素的同时,又能保证样式美观呢,今天小…

Leetcode200. 岛屿数量

Every day a Leetcode 题目来源:200. 岛屿数量 解法1:深度优先搜索 设目前指针指向一个岛屿中的某一点 (i, j),寻找包括此点的岛屿边界。 从 (i, j) 向此点的上下左右 (i1,j),(i-1,j),(i,j1),(i,j-1) …

静态链表的结构设计与主要操作功能的实现(初始化,头插,尾插,判空,删除,输出,清空,销毁)

目录 一.静态链表的结构设计 二.静态链表的结构设计示意图 三.静态链表的实现 四.静态链表的总结 一.静态链表的结构设计 typedef struct SNode {int data;//数据int next;//后继指针(下标) }SNode,SLinkList[MAXSIZE]; 二.静态链表的结构设计示意图 0:有效数据链的头节点;…

ATA-3080功率放大器在海底管道悬跨振动激振器检测中的应用

海底管道悬跨振动检测是指对海底管道在悬跨(即管道跨越两个支撑点之间的区域)段发生的振动进行监测和分析的过程。为了实现海底管道悬跨振动检测,通常使用以下几种方法: 1.加速度传感器:通过在管道表面安装加速度传感器…

现在可以手动获取真随机数吗?

获取真正的随机数并不像获取伪随机数那样简单,因为真随机数的产生依赖于物理过程或者其他难以预测的现象。在计算机科学中,通常使用的是伪随机数,它们是通过算法生成的,看起来像是随机的,但实际上是可以重现的。 如果…

新生儿散光:原因、科普和注意事项

引言: 散光是一种常见的眼睛问题,虽然在新生儿时期相对较少见,但了解其原因、科普相关知识,并提供一些建议的注意事项,对于婴儿的视力健康至关重要。本文将深入探讨新生儿散光的原因、相关科普知识,并为父…

新的centos7.9安装jenkins—(一)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 因为是用java8,所以还是要最后java8版本的jenkins,版本号是2.346.3,后…

​ 一文带你了解多文件混淆加密

目录 🔒 一文带你了解 JavaScript 多文件混淆加密 ipaguard加密前 ipaguard加密后 ​ 🔒 一文带你了解 JavaScript 多文件混淆加密 JavaScript 代码多文件混淆加密可以有效保护源代码不被他人轻易盗取。虽然前端的 JS 无法做到纯粹的加密&#xff0c…

Echarts 大屏注册自定义地图解析文件流报错问题解决

效果图: 1、首先通过后台接口获取到SVG图片的文件流,postman能够正确解析出文件流,前端调用api时需要设置返回的响应格式为image/svg+xml格式,否则解析失败 拿到文件流后是这样的 <?xml version="1.0" encoding="utf-8"?> <!-- Generator: …

6.3.WebRTC中的SDP类的结构

在上节课中呢&#xff0c;我向你介绍了sdp协议&#xff0c; 那这节课呢&#xff0c;我们再来看看web rtc中。是如何存储sdp的&#xff1f;也就是sdp的类结构&#xff0c;那在此之前呢&#xff1f;我们先对sdp的内容啊&#xff0c;做一下分类。因为在上节课中呢&#xff0c;虽然…