WordPress 似乎因為使用過多記憶體而殺死了我的 Google Compute 微型伺服器

WordPress 似乎因為使用過多記憶體而殺死了我的 Google Compute 微型伺服器

基本上,我在 Google Compute 上啟動了一台運行 Debian 8 Jesse 的微型伺服器,並在其上安裝了 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 設定,可以在「部署管理器」「雲端啟動器」下找到。您可以在任何大小的虛擬機器上運行它們,根據經驗,我可以向您保證基本安裝不會耗盡記憶體。若要復原資料庫,您可以執行下列操作: 1. 從開發人員控制台關閉虛擬機器 2. 拍攝磁碟快照 3. 將快照作為附加磁碟附加到工作虛擬機器(選擇選項:建立新磁碟 -from快照)在開發者控制台中執行上述步驟,最後不要忘記點選「儲存」按鈕。現在按一下新虛擬機器的「ssh」按鈕,然後
4. 在命令列上掛載此附加磁碟: sudo mount /dev/sdb1 /mnt

注意:您可以從透過 Cloud Launcher 啟動的虛擬機器執行這些步驟,並將檔案直接複製到該虛擬機器。

相關內容