微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

domain-name-system – 在没有交换空间的情况下,BBS 9.10在FreeBSD 10.0上不断被杀死

在我们的一个从属DNS服务器BIND,版本bind910-9.10.0P2_3中,不断被/ var / log / messages中的以下消息杀死:
Jul 30 01:00:10 cinnabar kernel: pid 602 (named),uid 53,was killed: out of swap space

此服务在XenServer 6.2中的FreeBSD 10.0 VM上运行,它具有512MB的系统内存.

此时pstat -m -s返回:

Device          1M-blocks     Used    Avail Capacity
/dev/ada0p3           512        9      502     2%

我不认为这是一个交换问题,它似乎是内存泄漏,但我不确定.

编辑:访问信息.

这是两个从DNS服务器之一,它们只存储来自权威服务器的区域,并充当内部用户到外部世界的递归服务器.客户端数量为700-1500个并发用户.由于我们有/ 21内部空间和/ 23公共IPv4空间并且没有来自外部世界的查询,因此端口53甚至在防火墙上被阻止到那些机器.

解决方法

如果您在此服务器上进行任何类型的监视,那么在进程被杀死的时候检查内存使用是否有任何峰值将会很好.然后你可以尝试找到与请求数量等的相关性.

话虽这么说,它可能意味着系统上确实没有内存,但很可能Bind正在请求一个连续的内存区域,碎片正在阻碍而且FreeBSD试图交换一些进程以腾出空间.它可能无法换出多个页面,无法分配并触发内存不足的杀手.

如果您有磁盘空间,最简单的解决方案是通过交换文件添加更多交换(不需要分区).理想情况下,您应该按照Håkan的建议限制缓存大小(绑定认值为无限制),但这可能会对性能产生影响.没有更多的统计数据真的很难说.即使是国内路由器现在也有512MB的RAM,所以你应该考虑增加(并限制缓存)生产服务器,同时为700-1500个用户提供服务(这可以转换为更多的req / sec,再次,没有更多的信息,很难说).

您也可以尝试通过MALLOC_PRODUCTION旋钮调整malloc实现,但我认为面对更简单的解决方案,这太过极了.

原文地址:https://www.jb51.cc/html/228738.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐