ablog

不器用で落着きのない技術者のメモ

Amazon RDS のメモリ使用量を確認する

Amazon RDS のメモリ使用状況を調べる際に確認すべきポイント。以下のスクリーンショットは Aurora MySQL

CloudWatch メトリクス

  • Freeable Memory (実質メモリ使用量)を確認する。/proc/meminfo に MemAvailable に相当する(参考)。メモリ使用量を監視する場合はこのメトリクスを使う。

f:id:yohei-a:20220122085252p:plain

Enhanced Monitoring

  • Swap でスワップ領域が使用されていたり、Swaps in、Swaps out で ページイン/アウトが発生している場合、メモリが不足している可能性がある。

f:id:yohei-a:20220122090607p:plain

  • Page Tables で OS カーネルのページテーブルの管理領域のサイズが大きくないか確認する。OraclePostgreSQL などマルチプロセス・共有メモリモデルのプロダクトの場合に注意が必要だが、Huge Pages が使われているので肥大化することはないはず。

f:id:yohei-a:20220122091346p:plain

OS プロセスリスト

  • OS processes、RDS processes、Aurora Storage Daemon、aurora [x] の RES でメモリ使用量の多いプロセスを確認する(MySQL の場合の例)。

f:id:yohei-a:20220122085344p:plain