接続がタイムアウトしましたの対処方でメモリーのスワップ領域を増やす

接続がタイムアウトしました
公開日: 更新日:

このサイトに接続したところ「接続がタイムアウトしました」とブラウザに表示されて接続が出来なくなりました。
サーバーの管理画面からSSHで接続を試みますが接続できません。
なのでしょうがないのでリブートしました。
対応方法を備忘録で記載しておきます。

目次

  1. 原因の調査
  2. スワップ領域を増やす
  3. 今後の対応

原因の調査

リブート後にSSHで接続します。
まず、アパッチのログを見ます。

$ tail -100 /var/log/apache2/error.log

すると以下の様なログがたくさん出ています。

[Sat Jul 04 06:26:05.354623 2020] [mpm_prefork:error] pid 7398Cannot allocate memory: AH00159: fork: Unable to fork new process

よくはわかりませんがメモリー関連の様です。

このサーバーはGoogle Cloud PlatformというGoogleのクラウドサービスを使っているのですが貧乏な私は一番低スペックな0.6Gのメモリーを使っています。
前に他のサイトで「データーベース接続確立エラー」と表示されてメモリーのスワップ領域を増やしたことがあったのでそれだなと思い対処することにしました。

スワップ領域を増やす

swapの確認

$ free
total used free shared buff/cache available
Mem: 606692 376448 42896 26916 187348 113064
Swap: 0 0 0

Swap領域が0でした。

他のサイトでやった通りに今回もします。

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sh -c ‘echo “/swapfile swap swap defaults 0 0” >> /etc/fstab’
sudo reboot

  • 上から1Gのスワップファイルを作成
  • スワップファイルのパーミッションを変更
  • swap領域にするファイルを指定
  • swapをONの状態に→ここでfreeコマンドで割り当てを確認
  • システム起動時にswapがONになるようシェルスクリプトを作成
  • サーバーをリブート→Swapコマンドで立ち上がりを確認

swapをONの後に確認すると以下の様にSwapが割り当てられている。

$ free
total used free shared buff/cache available
Mem: 606692 284676 128940 25140 193076 207264
Swap: 1048572 0 1048572

参照:

今後の対応

因みにサーバーの管理画面にはいつも以下の様な警告文が出ています。

パフォーマンス向上 
インスタンス「wordpress-xx-vm」は過剰に使われています。 次のマシンタイプへの切り替えを検討してください: g1-small(vCPU x 1、メモリ 1.7 GB)。 詳細

アップグレードも考えないといけませんね。

作成者: ひろしっち

プロのマジシャンやってます。 こちらは昔のブログから移行した記事とマジックとは関係ない記事などです。 マジック関連は以下をご覧ください。 ひろしつちや マジシャン出張、派遣マジックショー 記事の感想、コメント、質問などはTwitterにお願いします。 フォローも良かったらお願いします。 Instagram / YouTube / Facebook