Ejabberdメモリ消費量(またはリーク?)
-
13-09-2019 - |
質問
私は、当社のサーバー上ejabberd + mochiwebを使用しています。もはや私はejabberdとmochiwebランニングを保つ、より多くのメモリが消費される(最後の夜は、それがメモリの35%を消費した。今、それは50%以上のビットがあります)。私はこれがちょうどmnesiaガベージコレクションの問題だと思った - ので、私はアーランR13B3をインストールし、ejabberdを再起動します。これは、しかしそれを修正しませんでした。
だから私は、完全なメモリ消費量の50%以上のビットで、今それを気づい、それはメモリのと50%前後にとどまる「手放す」ことejabberdの開始のように見えます。これは正常ですか?
私は、任意の入力に感謝します。ありがとう!
解決 2
が判明し、何のメモリリーク(イェーイ!)Ejabberdのみ<40メガバイトを取っているがありません。私はEngineYardに使用グラフを見たとき、最後に、私は光を見た - だけで288メガバイトが実際に使用されて、550メガバイトがバッファリングされている、と175メガバイトがキャッシュされています。私のejabberdサーバのアップデート各クライアントからのすべての2.5秒ほどがキャッシュ/バッファリングされている理由を説明できるように。
あなたの助けのすべてに感謝します。
他のヒント
すべての今してあなたのシェルでerlang:memory().
を実行します。またerlang:system_info(Type).
でallocated_areas
を与え、試してallocator
することができます。
これらはあなたに漏れているメモリの種類にヒントを与える必要があります。
また、セットアップ memsup のあまりを割り当てるプロセスについて警告することができますメモリます。
Erlangのプロセスで新たに作成された原子が取得のはごみを収集することはありません。これは、プロセスがランダムなどから原子名を作成algorithによって登録されている問題になる可能性があります。ランダム文字列を作成しました。