我需要一些建议,因为我有一个 VPS OpenVZ,带有 1GB 内存和 1GB 可突发内存。我正在 wordpress 上运行一个网站,我的网站用户每天大约有 2000 人。我的数据库大小约为 90MB,我使用的是最新的 wordpress 4.2.2。我遇到一个问题,我的网站正在消耗服务器上的所有内存。我尝试重新安装整个服务器,恢复后它又回到了相同的状态。我分析了一下,在重新安装之前,大部分内存都被 mysqld 服务消耗了,关闭该服务可以冷却内存,现在重新安装后,apache 服务器正在消耗内存,httpd 服务无法停止。请告诉我我应该怎么做才能解决这个问题。我的顶级命令结果如下。
top - 14:49:04 up 24 min, 2 users, load average: 1.84, 1.89, 2.51
Tasks: 88 total, 2 running, 86 sleeping, 0 stopped, 0 zombie
Cpu(s): 28.3%us, 4.1%sy, 0.0%ni, 67.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1048576k total, 1047576k used, 1000k free, 0k buffers
Swap: 1048576k total, 917004k used, 131572k free, 54892k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3439 apache 20 0 375m 39m 3860 S 34.5 3.9 0:02.79 httpd
3663 apache 20 0 378m 42m 3816 S 20.0 4.1 0:01.22 httpd
1254 mysql 20 0 1672m 19m 2980 S 16.6 1.9 1:15.50 mysqld
3942 apache 20 0 375m 35m 3604 R 14.5 3.5 0:01.36 httpd
3930 apache 20 0 375m 36m 3788 S 11.0 3.6 0:00.91 httpd
3407 apache 20 0 369m 33m 3572 S 1.4 3.3 0:01.93 httpd
3844 apache 20 0 375m 39m 4036 S 1.4 3.9 0:00.95 httpd
3652 apache 20 0 375m 39m 4044 S 0.7 3.9 0:02.57 httpd
4144 root 20 0 15028 1016 724 R 0.7 0.1 0:00.01 top
1 root 20 0 19236 24 24 S 0.0 0.0 0:00.01 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd/183
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper/183
129 root 16 -4 10644 0 0 S 0.0 0.0 0:00.00 udevd
479 root 20 0 243m 340 140 S 0.0 0.0 0:00.13 rsyslogd
498 named 20 0 308m 1188 592 S 0.0 0.1 0:00.67 named
519 root 20 0 66220 184 128 S 0.0 0.0 0:00.02 sshd
527 root 20 0 21720 4 4 S 0.0 0.0 0:00.00 xinetd
562 root 20 0 11312 280 280 S 0.0 0.0 0:00.01 mysqld_safe
692 root 20 0 19268 120 120 S 0.0 0.0 0:00.00 dovecot
694 dovecot 20 0 12988 80 80 S 0.0 0.0 0:00.00 anvil
695 root 20 0 13116 116 116 S 0.0 0.0 0:00.00 log
706 root 20 0 98388 116 116 S 0.0 0.0 0:00.14 sshd
708 root 20 0 66404 0 0 S 0.0 0.0 0:00.00 saslauthd
709 root 20 0 66404 0 0 S 0.0 0.0 0:00.00 saslauthd
785 root 20 0 80860 184 104 S 0.0 0.0 0:00.03 master
793 postfix 20 0 80940 136 76 S 0.0 0.0 0:00.00 pickup
794 postfix 20 0 81124 112 112 S 0.0 0.0 0:00.00 qmgr
796 nobody 20 0 164m 140 52 S 0.0 0.0 0:00.01 proftpd
804 root 20 0 340m 1424 208 S 0.0 0.1 0:02.91 httpd
813 root 20 0 20024 324 248 S 0.0 0.0 0:00.00 crond
825 root 20 0 21108 0 0 S 0.0 0.0 0:00.00 atd
947 root 20 0 12892 316 316 S 0.0 0.0 0:00.06 bash
2519 root 20 0 15028 556 556 S 0.0 0.1 0:00.08 top
3192 apache 20 0 369m 33m 3540 S 0.0 3.3 0:05.06 httpd
3196 apache 20 0 372m 5048 3476 S 0.0 0.5 0:01.92 httpd
3204 apache 20 0 375m 38m 3492 S 0.0 3.7 0:02.17 httpd
3392 apache 20 0 375m 37m 3464 S 0.0 3.7 0:01.02 httpd
答案1
您是否遇到过任何网站性能问题?Linux 的问题在于,top 显示所有 RAM 都在使用中并不是一件坏事。尝试向我们提供 的输出free -m
。当应用程序用完其使用的内存时,内核不会立即清除数据页面并将其再次标记为可用内存。例如,我现在正在运行的桌面 VM 显示我在 top 中使用了 7.9G / 8.0G RAM。但是,如果我运行该 free 命令,我可以看到我使用了 1.2 GB 并缓存了 6.7 GB。
所以我再次问一下,您是否注意到性能下降了,或者您唯一担心的top
是否是您使用了太多 RAM?
答案2
WordPress 占用大量 RAM 和 CPU。如果您想继续使用 WordPress,除了升级服务器外,没有其他选择。另一种方法是使用其他系统作为服务器,或者找人来编写网站代码。这样,RAM 使用率就不会那么高 - 当然,前提是程序员的工作做得好。
不确定这是否有帮助,但这就是我使用 WordPress 时遇到的情况。它使整个网站比自编码的网站慢得多。
谢谢你,
马库斯。