linux系统vmalloc分配过大,Linux内核,iptables和vmalloc大小

在我们的一些Linux机器上我们遇到了iptables的问题,似乎被加载的规则的剪切数导致vmalloc错误(大小3506176的vmap分配失败:使用vmalloc =增加大小.)出现在dmesg和任何其他规则停止加载.

经过大量研究后,我们将vmalloc大小从128MB增加到512MB并重新启动,这暂时解决了这个问题.

虽然64位内核似乎没有这个问题(?).我检查了我的CentOS 6盒子(64位),它有VmallocTotal:34,359,738,367 kB(!).

所以我的问题是,32位PAE内核是否也能解决这个问题?

在多个站点上更改内核比操作系统要容易得多……

谢谢,

JAK

解决方法:

32位PAE内核无法解决此问题,因为该问题源于vmalloc空间中的分配碎片.在x86-64中,vmalloc空间非常大(远大于物理RAM大小),因此您不会遇到分区失败的情况.然而,在32位中,vmalloc空间要小得多 – 几百MB.迁移到PAE不会使此虚拟分配空间更大.

如果你想保持32位,你的问题的解决方法是修改内核,以便iptables从预先分配的vmalloc空间分配,从而避免其他调用者对vmalloc造成的碎片(尽管如此,没有保证这将完美地解决你的问题,因为它取决于iptables如何分配内存与你用它做什么的配置文件,这在这个问题的范围内是未知的).

标签:linux,linux-kernel

来源: https://codeday.me/bug/20190610/1209243.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值