我有一个 OpenVZ VPS。然而,shmpages
总是在一两天内增加到极限。我的 RAM 使用率很低(233M 没有缓存)。我只在 VPS 上运行 nginx、php-fpm 和 mariadb。我已经要求我的 VPS 提供商增加一次限制(从 13000 起),但这对我来说仍然是个问题。可能是什么原因,是否有可能的方法来解决它?以下是 的输出cat /proc/user_beancounters
。
Version: 2.5
uid resource held maxheld barrier limit failcnt
39506: kmemsize 11328858 17010688 9223372036854775807 9223372036854775807 0
lockedpages 0 0 256 256 0
privvmpages 175735 226459 9223372036854775807 9223372036854775807 0
shmpages 19985 20000 20000 20000 1752
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 44 126 250 250 0
physpages 78891 101586 361984 361984 0
vmguarpages 0 0 260144 9223372036854775807 0
oomguarpages 37212 44403 260144 9223372036854775807 0
numtcpsock 8 31 800 800 0
numflock 5 28 600 800 0
numpty 1 1 47 47 0
numsiginfo 0 78 256 256 0
tcpsndbuf 139520 721088 9223372036854775807 9223372036854775807 0
tcprcvbuf 131072 4063928 9223372036854775807 9223372036854775807 0
othersockbuf 57800 325704 9223372036854775807 9223372036854775807 0
dgramrcvbuf 0 9248 575488 575488 0
numothersock 109 135 900 900 0
dcachesize 3614571 4086400 4086400 4086400 0
numfile 641 1275 9600 9600 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numiptent 24 24 450 450 0
编辑:
df -T
输出:
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 723968 0 723968 0% /dev
tmpfs tmpfs 723968 0 723968 0% /dev/shm
tmpfs tmpfs 723968 13096 710872 2% /run
tmpfs tmpfs 723968 0 723968 0% /sys/fs/cgroup
一个好的提供者不应该将 shmpages 的限制设置为低至 20000。shmpages 只会影响容器中应用程序的资源短缺反应;它对节点本身的稳定性或安全性的影响为零。
我所有的 OpenVZ VPS(来自 BuyVM)都将 shmpages 限制设置为 9223372036854775807(基本上是无限制的)。很明显,您并没有耗尽内存——您的 physpages 限制为 361984,而您使用的最高内存量不到其三分之一 (101586)。oomguarpages 也是如此——您的限制是 260144 页,但您使用的最大内存是 44403 页,只有可用内存的 17%。
要求您的供应商增加您的 shmpages 限制和障碍,使其更理智。如果他们拒绝,我建议您在其他地方寻找您的 VPS 需求。他们20000的限制是荒谬的。