Php

我的伺服器虛擬記憶體已滿

  • March 2, 2020

有時我的伺服器在虛擬記憶體上達到 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

您關於交換的問題,虛擬記憶體是 (RAM+Swap)*over-commitment 的總和。您可以在wiki中閱讀更多內容。

你有swap的問題。我不知道為什麼,但是所有的 Linux 總是交換,你什麼也做不了。在您的情況下,如果您不想使用交換,則可以增加vm.overcommit_ratio以防止虛擬記憶體出現問題並完全刪除交換。

引用自:https://serverfault.com/questions/851511