Vps

多個 HTTPD 實例執行,虛擬記憶體不斷耗盡?

  • March 14, 2012

我注意到我的 VPS 今天表現得很奇怪。我已將其設置為 Web 伺服器(以及 MySQL、PHP、FTP 等),目前只有一個網站在上面執行。我今天早些時候注意到該網站會間歇性地失去與數據庫的連接,並且根本無法載入。

我打開 Webmin,當它最終載入時(花了一段時間),它報告 I/O 的 CPU 使用率為 100%,並且 125.47MB 虛擬 RAM 中的 125.39MB 已用完。我重置了 VPS,在它重新上線後,CPU 讀取到它以 100% 空閒執行,並且正在使用 0KB 的 RAM。

1 小時 44 分鐘後,伺服器現在說我正在使用 7.36MB 的 RAM。它還說我有 66 個程序正在執行,並且看著我有 9 個 httpd 服務實例正在執行。

我認為 httpd 服務正在消耗 RAM 和 CPU(每個實例都報告它正在使用大約 330000KB 的 RAM)。由於我只有一個網站在伺服器上執行(和一個 Webmin 實例),我不應該期望看到只有一個 httpd 實例在執行嗎?或者這是正常的嗎?

如果 httpd 的多個實例不是問題,還有什麼可能導致這些問題?

編輯:

按 CPU 使用率列出的程序是:

ID      Owner       CPU     Command   
2401    root    1.3 %   /usr/libexec/webmin/proc/index_cpu.cgi<br />
1   root    0.0 %   /sbin/init<br />
2   root    0.0 %   [kthreadd]<br />
3   root    0.0 %   [migration/0]<br />
4   root    0.0 %   [ksoftirqd/0]<br />
5   root    0.0 %   [watchdog/0]<br />
6   root    0.0 %   [events/0]<br />
7   root    0.0 %   [cpuset]<br />
8   root    0.0 %   [khelper]<br />
9   root    0.0 %   [netns]<br />
10  root    0.0 %   [async/mgr]<br />

The processes by RAM are:
1034    mysql   444648 kB   /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-e ...<br />
1156    apache  334512 kB   /usr/sbin/httpd<br />
1157    apache  333728 kB   /usr/sbin/httpd<br />
1161    apache  333728 kB   /usr/sbin/httpd<br />
1136    root    319352 kB   /usr/sbin/httpd<br />
1158    apache  319352 kB   /usr/sbin/httpd<br />
1159    apache  319352 kB   /usr/sbin/httpd<br />
1160    apache  319352 kB   /usr/sbin/httpd<br />
1162    apache  319352 kB   /usr/sbin/httpd<br />
1163    apache  319352 kB   /usr/sbin/httpd<br />
882 root    248576 kB   /sbin/rsyslogd -c 4<br />
1144    root    117072 kB   crond<br />
1960    root    108212 kB   -bash<br />
945 root    108076 kB   /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/my ...<br />
1957    root    97456 kB    sshd: root@pts/0<br />
2486    root    67068 kB    /usr/libexec/webmin/proc/index_size.cgi<br />
1164    root    64152 kB    /usr/bin/perl /usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf<br />
2489    root    64152 kB    /usr/bin/perl /usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf<br />
909 root    63756 kB    /usr/sbin/sshd<br />
1135    postfix 62220 kB    qmgr -l -t fifo -u<br />
2062    postfix 62048 kB    pickup -l -t fifo -u<br />
1126    root    61968 kB    /usr/libexec/postfix/master<br />
1   root    19112 kB    /sbin/init<br />
2498    root    11208 kB    sh -c ps --cols 2048 -eo user:80,ruser:80,group:80,rgroup:80,pid,ppid,pgid,pcpu, ...<br />
2499    root    11092 kB    ps --cols 2048 -eo user:80,ruser:80,group:80,rgroup:80,pid,ppid,pgid,pcpu,vsz,ni ...<br />
358 root    10860 kB    /sbin/udevd -d<br />
615 root    10856 kB    /sbin/udevd -d<br />
894 root    3988 kB /usr/sbin/acpid<br />
1172    root    3984 kB /sbin/agetty /dev/ttyS0 9600 vt100-nav<br />

我追踪到 Webmin 執行的問題。我整晚都關閉了 Webmin 服務,現在 RAM 的使用情況得到了控制。我現在已經刪除了 Webmin 並改用 ISP Config 3。同樣,RAM 使用率現在非常好。

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