スワップが使われ始めた時の正しい判断基準

  • URLをコピーしました!

Linuxサーバーを運用していると、

  • swap使用量が増えた
  • freeコマンドでswapが減っている

といった状況に遭遇することがあります。

このとき、 「swapが使われた=即障害」 と判断していませんか?

本記事では、 スワップが使われ始めた時にどう判断すべきかを、 Linuxの動作原理を踏まえて解説します。

目次

結論:swap使用=即異常ではない

Linuxでは、

  • メモリを効率的に使うため
  • キャッシュを優先するため

意図的にswapを使うケースがあります。

重要なのは、 「使われているか」ではなく「使われ続けているか」 です。

まず確認すべきコマンド

free -m

free -m

見るべきポイント

  • available メモリが残っているか
  • swapが増え続けていないか

vmstat

vmstat 1

重要項目

  • si(swap in)
  • so(swap out)

ここが継続的に0でない場合、 実害が出始めています。

判断基準① swap使用量が増えたが si/so は0

状態

  • swapは一部使われている
  • si / so は発生していない

判断

問題なし(監視継続)

一時的に退避されただけで、 性能影響はほぼありません。

判断基準② si/so が断続的に発生

状態

  • si / so が時々発生
  • レスポンスがやや不安定

判断

注意状態

ピーク時のみメモリ不足が発生しています。

判断基準③ si/so が継続的に発生

状態

  • si / so が止まらない
  • CPU idle が高い
  • レスポンスが悪い

判断

明確な異常状態

ディスクI/O待ちにより、 処理が大きく遅延します。

なぜswapが遅く感じるのか

swapは

  • メモリ → ディスク
  • ディスク → メモリ

の移動が発生するため、 CPUを使わず待ち時間が増えるのが特徴です。

CPU idleが高く見える理由

swap in/out が発生すると、

  • プロセスはI/O待ち
  • CPUは仕事ができない

結果として idleが高く見える状態になります。

やってはいけない判断

  • swapを即無効化
  • 原因調査なしの再起動

これらは 問題を隠すだけになることがあります。

どうなれば「解決」と判断できるか

  • si / so が0に戻る
  • レスポンスが安定
  • swap使用量が増え続けない

この状態になれば、 swapによる性能問題は解消しています。

次に取るべき対策

  • メモリ増設・VMサイズ変更
  • メモリリーク調査
  • 不要プロセスの整理

まとめ

スワップは 使われたかどうかではなく、使われ方 で判断します。

si / so を基準に冷静に切り分けることで、 不要な対応を防ぐことができます。

目次