0

私は ActiveMQ 5.8.0 を使用しており、KahaDB でメッセージを保持するようにセットアップしています。かなり単純な操作にとんでもない量のメモリを使用する ActiveMQ で問題が発生しています。

ラッパー ヒープ スペース (Xmx) を 1536m に設定し、ブローカー システム メモリを 1024m に設定しました。ActiveMQ を開始すると、かなりの量のメモリ (約 100MB) が使用されます。次に、ActiveMQ コンソールを開いて、700 メッセージのエラー キューにアクセスしようとすると、奇妙なことが起こり始めます。メモリ使用量が上がります。そしてアップ。そしてアップ。約1,5GBで止まるまで、それでもキューは表示されません。その後、Java ヒープ領域の outofmemory エラーで失敗するまで、数分間そこにとどまります (少なくとも xmx-memory が少し少ない場合は失敗しましたが、現在は数分間待機するだけです)。メッセージは小さく、ペイロードはなく、ユーザー定義のヘッダー プロパティがいくつかあるだけです。これらのメッセージの 700 で 1400MB のメモリを占めることはできません。

別の ActiveMQ インスタンスにもアクセスできます。これは 5.7.0 で、永続化のために MSSQL データベースを使用するように設定されています。ここでは、保留中のメッセージが 50000 あるキューを開き、約 10 秒で 3000 のメッセージを Web コンソールに表示できます。

ActiveMQ コンソールの代わりに HawtIO に接続しようとすると、メモリ使用量が異常に増加することはありませんが、それでもキューの内容を表示するのは非常に遅く、一部のキュー (1000 個のやや大きなメッセージ) を表示することはできません。の内容。実際、さまざまな環境 (開発/テスト) でもう少し確認すると、開発環境 (1200 メッセージ) では内容が表示されないエラー キューが、テスト環境 (1900 メッセージ) で表示されることがわかります。 )。これは意味がありません..

ActiveMQ 5.8.0 の Web コンソールがすべてのメモリを消費する原因を知っている人はいますか? また、HawtIO を使用している場合でも、比較的小さなキューの内容を表示できないのはなぜですか? 私はこれが ActiveMQ のコア機能の一部であると考えており、その点で、これが実際にうまく機能していないことに非常にショックを受けています..

4

0 に答える 0