メモリ使用量が減った!? その理由はSwapファイルでした

背景

先日、EC2インスタンス上でメモリ不足によりoom-killerが発動し、メモリを一番消費していたプロセスが強制終了されるという問題が発生しました。この問題を受け、メモリ不足への一時的な対応としてSwapファイルを作成しました。

メモリ使用量の変化

CloudWatch Agentでメモリ使用量をモニタリングしていたところ、メモリの使用量が700MBから500MBに減少していることに気づきました。この減少の原因を調査した結果、Swapファイルにメモリのデータが移動したためであることが判明しました。

Swapイベントの確認

以下のコマンドを使用して、Swapのイベントが発生した記録を確認しました。

# Swapのイベントが発生した記録を確認します
$ sar -S 1 10

Linux {ip.amzn2.x86_64 (ip-{ip}.ec2.internal)  2024年09月06日  _x86_64_ (1 CPU)
05時16分47秒 kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
05時16分48秒    236284    288000     54.93     51132     17.75
05時16分49秒    236284    288000     54.93     51132     17.75
05時16分50秒    236284    288000     54.93     51132     17.75
05時16分51秒    236284    288000     54.93     51132     17.75
05時16分52秒    236284    288000     54.93     51132     17.75

また、システム全体のメモリおよびSwapの使用状況も以下のコマンドで確認しました。

# システム全体のメモリおよびスワップの使用状況を確認
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           964M        519M        128M         76K        316M        300M
Swap:          511M        281M        230M

メモリ使用量が700MBから500MBに減少した時点で、ちょうどSwapファイルへのデータ移行が確認され、原因が特定できました。

関連リンク

関連記事