openvz:限制常用服务的资源使用?

openvz:限制常用服务的资源使用?

我在 OpenVZ (Virtuozzo) 容器内运行 Ubuntu 14.04 LTS。其中运行了一些基本服务(Apache、Postfix、Dovecot、MariaDB、OpenVPN、LDAP、memcached、php-fpm、nscd),我已经达到了一些限制,如 所示/proc/user_beancounters,尤其是 kmemsize:

Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
 79053013:  kmemsize                 39057604             41549824             41943040             50331648                   18

这仅仅是在正常运行时间仅 12 小时之后发生的;之前 kmemsize、shmpages、tcpsndbuf 出现大量(数百个)故障。

我的问题是:

  • 是否有可能某些服务泄漏资源(即使我重新启动它们也不会释放),或者即使没有泄漏,资源使用量也会随着时间的推移而增加?
  • 我如何才能更细致地了解受限资源的使用情况,以便知道该调整什么?
  • 有没有什么技巧/链接可以降低这些问题(特别是 kmemsize、shmpages)?
  • 猜猜哪个服务最耗费资源?

答案1

默认值通常太低。41MB 对于 kmem 来说相当小,而 shmpages 应该接近 RAM 大小的一半(1/2 vmguarpages)。

UBC 参数有其用途,特别是如果您喜欢可突发 RAM 而不是交换,但参数通常需要调整或由经验丰富的管理员/主机分配适当的限制。

Vswap 已经成为 OpenVZ 的默认配置一段时间了,这使得这些 UBC 限制成为过去。如果您在这些 UBC 参数方面遇到问题,我建议您考虑切换到 vswap 配置。

相关内容