WordPress 似乎因使用了过多内存而杀死了我的 Google Compute 微型服务器

WordPress 似乎因使用了过多内存而杀死了我的 Google Compute 微型服务器

基本上,我在运行 Debian 8 Jesse 的 Google Compute 上启动了一个微型服务器,并在其上安装了 MySQL 和 Apache2,只是为了运行一个小的测试站点。我自己没有开发主题,所以我没有任何代码 - 我只是上传了一个我在 themeforest 上获得的主题,该主题使用 WPBakery 来构建页面。

我从一开始就注意到它很慢 - 这很好,因为这只是一个小型测试服务器,以便我的客户可以看到它。我计划在完成后将其移动到他们当前的托管服务器。然而,我开始注意到,当我进行大量编辑时,它偶尔会冻结,并且我的 ssh 终端会收到“内存不足”错误。这又很好 - 这只是我需要几天来自定义主题的测试站点。它们通常会自行解决。

但是,有一次服务器卡住了,我不得不重启它。这应该是我至少要对磁盘进行快照的第一个迹象。但是一旦服务器恢复运行,一切都会好起来,而且速度甚至明显更快。我猜想是 WP 后端出了问题,重启服务器解决了这个问题。

我又用了一两天,然后它又突然停止工作了。但这次我无法再使用 ssh 连接了。我使用 Google Compute GUI 重新启动了它,但什么也没起作用。使用情况图表达到峰值 - 当我记录串行输出时,我得到了以下信息:

Feb 25 12:47:05 test-wrs systemd[1]: Looping too fast. Throttling execution a little.

它每隔一秒或一秒输出一次。当我在启动过程中查看输出时,它似乎在 Apache 启动后不久启动。但上面还有一些关于故障的其他消息 - 我不太确定是什么原因造成的。

Feb 25 12:44:48 test-wrs systemd[1]: Started ACPI event daemon.
Feb 25 12:44:48 test-wrs systemd[1]: Started System Logging Service.
Feb 25 12:44:48 test-wrs systemd[1]: Started Expand the root partition and filesystem on boot.
Feb 25 12:44:48 test-wrs systemd[1]: Started /etc/rc.local Compatibility.
Feb 25 12:44:48 test-wrs systemd[1]: systemd-logind.service: main process exited, code=exited, status=1/FAILURE
Feb 25 12:44:48 test-wrs systemd[1]: Failed to start Login Service.
Feb 25 12:44:48 test-wrs systemd[1]: Unit systemd-logind.service entered failed state.
Feb 25 12:44:48 test-wrs systemd[1]: Started LSB: Start and stop the mysql database server daemon.
[  OK  ] Started Permit User Sessions.
Feb 25 12:44:48 test-wrs systemd[1]: Started LSB: Start NTP daemon.
Feb 25 12:44:48 test-wrs systemd[1]: Started LSB: Apache2 web server.
Feb 25 12:44:48 test-wrs systemd[1]: dbus.service: main process exited, code=exited, status=1/FAILURE
Feb 25 12:44:48 test-wrs systemd[1]: Unit dbus.service entered failed state.
Feb 25 12:44:49 test-wrs systemd[1]: Started Permit User Sessions.
Feb 25 12:44:49 test-wrs systemd[1]: Time has been changed
Feb 25 12:44:49 test-wrs systemd[1]: systemd-logind.service has no holdoff time, scheduling restart.
Feb 25 12:44:50 test-wrs systemd[1]: Looping too fast. Throttling execution a little.
Feb 25 12:44:51 test-wrs systemd[1]: Looping too fast. Throttling execution a little.
Feb 25 12:44:52 test-wrs systemd[1]: Looping too fast. Throttling execution a little.
Feb 25 12:44:54 test-wrs systemd[1]: Looping too fast. Throttling execution a little.

我不知道该怎么办。我读到这有时是由于内存使用过度造成的,这与我之前遇到的问题有关 - 所以我尝试对磁盘进行快照并在更高 RAM 的服务器上启动它,但无论我将 RAM 设置得多高,它都会发生同样的事情。而且我无法通过 ssh 进行进一步调查。

有谁知道问题可能是什么或如何解决它?我被困住了,我真的不想再从头开始,重新做我以前做过的所有事情。如果我至少能得到 MySQL 数据库的转储,我会很高兴 - 但数据库没有配置为接受远程连接,因为我没有理由这样做。所以我必须以某种方式进入它。

答案1

至于您的设置内存不足的原因,我们只能推测。事实上,问题并没有随着更大的虚拟机而消失,这表明这是由某些配置或设置问题引起的。您可以尝试运行Google 预先配置的 Wordpress 设置,可在“部署管理器”“云启动器”下找到。您可以在任何大小的 VM 上运行它们,根据经验,我可以向您保证基本安装不会耗尽内存。要恢复数据库,您可以执行以下操作:1. 从开发人员控制台关闭 VM 2. 拍摄磁盘快照 3. 将快照作为附加磁盘附加到正在运行的 VM(选择选项:从快照创建新磁盘)在开发人员控制台中执行上述步骤,最后不要忘记单击“保存”按钮。现在单击新 VM 的“ssh”按钮,
4. 在命令行上安装此附加磁盘: sudo mount /dev/sdb1 /mnt

注意:您可以从通过 Cloud Launcher 启动的 VM 执行这些步骤,然后将文件直接复制到此 VM。

相关内容