さくらのVPS512のメモリ不足について

※記事内に商品プロモーションを含む場合があります

さくらのVPSにApacheやphpをインストールすると、
設定によっては結構メモリを使います。

ただし、他のVPSと違いスワップ領域が設定されているので
メモリ不足でプロセスが落ちたり、新たなプロセスを立ち上げられなかったり
することは無いのですが、やたりスワップ領域を多く使うと、
ハードディスクがボルトネックのなりCPUに負荷がかかり実行速度が遅くなってしまいます。

そこで超簡単にスワップが発生してないか確認する方法はこちら。
さくらのVPSのメモリ不足の確認

さくらのVPSコントロールパネルの情報を確認する方法です。
本格的に調べる方法はこちら、
Linux のメモリー管理(メモリ-が足りない?,メモリーリークの検出/防止)(リンク切れ)

まずはCPUの負荷を確認するため
uptimeコマンドでCPUの負荷を確認します。

[eax@eax ~]$ uptime
09:02:29 up 93 days, 15:03,  1 user,  load average: 0.01, 0.05, 0.00

uptimeコマンドで表示されるload averageに注目!
これは過去1分、5分、15分の実行待ちプロセス数の平均数
この数字は1.00以下であれば待ち時間がなくプロセスが実行されています。
1以上になると待ちプロセスが発生してしまいます。
5以上ぐらいになると重いと判断できます。

次に、スワップの発生状況を確認するのがvmstat

[eax@eax ~]$ vmstat 30
procs ———–memory———- —swap– —–io—- –system– —–cpu——
r  b   swpd   free   buff  cache   si   so bi    bo   in   cs us sy id wa st
1  0  57656  68000   4716  56336   16   16 24    25    1    1  1  0 99  0  0
0  0  57656  37108   4772  56752    0    0 14    19 1005   59  1  0 99  0  0
0  0  57656 151852   4824  56960    0    0 8    19 1007   64  1  0 99  0  0

ちょっと崩れていますが、swapのsiとsoがスワップの活動を示しています。
一時的に動くのは問題ありませんが、継続的に動く場合は
メモリの節約や上位プランへのアップグレードをおすすめします。



私の場合はapacheのkeep-alive設定をして実行するhttpdプロセス数を減らしました。