下がらないメモリ使用量の突然の増加

約1週間前、メモリのDOグラフを確認したところ、非常に驚きました。

これは1年以上安定していました。コンテナを停止・再起動すると使用量が低下しましたが、ここ数時間で再び以前の状態に戻ってしまいました。

何が原因でしょうか?toppsによると、主な原因はpostgresプロセスのようです。freeコマンドからの情報は以下の通りです。

$ free -mh
              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.5Gi       142Mi       2.3Gi       5.1Gi       2.6Gi

DOコンソール経由でドロプレットにアクセスすることもできません。OOM(Out of Memory)によりクラッシュしてしまいます。幸い、SSHキーをインストールしており、個人用ラップトップからアクセスできるため、現時点ではまだドロプレットに接続できています。

どうすればよいでしょうか?予算が限られているため、ドロプレットのサイズ変更は最終手段として考え、他に方法がないか探しています。原因は完全に不明です。現在、バージョン2.7.0.beta5を実行しています。

最近、何か変更がありましたか?アップグレードされましたか?

過去14日間のグラフで唯一見られた垂直的な急上昇は、5月11日のものでしたが、78%から89%への増加と、それほど劇的ではありませんでした。もしかすると、その時点でアップグレードしたのでしょうか?

ホストに関連しているようです。私の場合、メモリ使用量は減少しました。beta9 へのバージョンアップ は 10 日に追加されましたので、おそらくその頃に再構築を行ったのでしょう(ディスク使用量から新しいイメージをダウンロードしたこともわかります)。ホストのアップグレードは覚えていませんが、行っていた可能性もあります。


スワップ領域は設定されていませんか?

いいえ、私はしばらく 2.7beta5 を運用しています。最近、何も変更していません。

最新バージョンにしない理由は、前回のアップグレード後、フロントエンド担当者に懸念が生じたためです。そのアップグレードで、彼のスタイリング関連に破壊的な変更が導入されてしまったのです(私はシステム管理者なので、このようなことについては全くわかりません)。Discourse 側でその問題はすでに修正されたと思いますが、次のマイナーバージョンを待ってアップグレードしようとしていました。

ホストでこれが起こっている原因は何でしょうか?

ドロプレットのサイズ変更は請求額を倍にしてしまうので、できれば避けたいのですが、それが最も簡単な解決策かもしれません。

スワップは初期設定のままですが、詳しくはわかりません。

:thinking: /sidekiq とは何と表示されますか?

スワップを追加すれば、OOM(メモリ不足)を回避できます。OOMは避けたいですし、また過度なページング活動も避けたいものです。さもなければ、メモリ使用量の増加が重要かどうかは場合によります。(興味深い点ではあるかもしれませんが、それは別の問題です。)

vmstat 5 5
または同様のコマンドを実行して、ページング活動の様子を確認することをお勧めします。

また、
free -h

free -mh
よりも有用です。なぜなら、残りのスワップ量が重要だからです。