我的服务器虚拟内存已满

我的服务器虚拟内存已满

有时候我的服务器虚拟内存使用率会达到 100%,我不知道这是否值得担心?(这种情况会在 1-2 周内逐渐发生,从清理交换开始,直到达到该百分比)

我通常这样解决这个问题:

swapoff -a && swapon -a

您建议用其他方法解决这个问题吗?

我尝试查看交换中的内容,显然它是php-cgi或是我的服务器上运行的每个站点的进程。

运行此命令后:

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

我得到这个结果:

miniserv.pl 17096 kB
php-cgi7.0 15732 kB
php-cgi7.0 15532 kB
php-cgi7.0 13768 kB
php-cgi7.0 13532 kB
php-cgi7.0 13300 kB
php-cgi7.0 12056 kB
php-cgi7.0 11004 kB
php-cgi7.0 9636 kB
php-cgi7.0 4712 kB
php-cgi7.0 3700 kB
php-cgi7.0 3600 kB
php-cgi7.0 3288 kB
php-cgi7.0 3100 kB
php-cgi7.0 3084 kB
php-cgi7.0 3040 kB
php-cgi7.0 2824 kB
php-cgi7.0 2756 kB
(sd-pam) 2580 kB
php-cgi7.0 2524 kB
php-cgi7.0 2524 kB
(sd-pam) 2280 kB
(sd-pam) 2192 kB
php-loop.pl 2076 kB
php-loop.pl 2076 kB
php-loop.pl 2072 kB
php-loop.pl 2072 kB
php-loop.pl 2072 kB
php-loop.pl 2072 kB
php-loop.pl 2072 kB
php-loop.pl 2072 kB
(sd-pam) 2036 kB
php-loop.pl 1976 kB
php-loop.pl 1964 kB
php-loop.pl 1964 kB
php-loop.pl 1964 kB
php-loop.pl 1960 kB
php-loop.pl 1956 kB
php-loop.pl 1956 kB
php-loop.pl 1948 kB
php-loop.pl 1940 kB
php-loop.pl 1920 kB
php-loop.pl 1908 kB
php-loop.pl 1908 kB
php-loop.pl 1904 kB
php-loop.pl 1872 kB

答案1

你的问题是关于交换,虚拟内存是 (RAM+交换)*过量使用的总和。你可以在维基百科

您的交换分区有问题。我不知道为什么,但所有 Linux 都存在交换分区,您对此无能为力。对于您来说,如果您不想使用交换分区,您可以增加交换分区vm.overcommit_ratio以防止虚拟内存出现问题,然后完全删除交换分区。

相关内容