2017-12-14 18 views
-1

私は、MS Windows Server 2008上で動作するJ2EE Webアプリケーションを使用しています。アプリケーションサーバーはOracle WebLogic 11Gです。サーバーには32GBのRAMが搭載されていますが、ユーザーはアプリケーションが非常に遅いと不満を続けています。ヒープサイズの使用率が50%を超えると、JVMヒープサイズを増やすのに役立ちますか?

私はJVMの設定をチェックして、実際にサーバーに32GBのRAMがある間に、割り当てられたヒープサイズがちょうど1GBであることを確認します。

次に、JVMヒープサイズのフリーパーセンテージを調べて、サーバーが最もビジー状態であっても、まだヒープが50%もないことがわかります。

ヒープサイズを2GBまたは4GBに増やすと役立つかどうかを知りたいと思っています。

JVMにあまりにも多くのヒープサイズを割り当てると、ガベージコレクションを実行するのに時間がかかるという記事を読んでいます。

+0

重複の可能性:https://stackoverflow.com/questions/1565388/increase-heap-size-in-java –

+0

JVMがより多くのヒープサイズを割り当てるように設定する方法を知っています。しかし、現在のフリーパーセンテージがすでに50%を超えている場合、ヒープサイズをさらに割り当てるアプリケーションにとって有益かどうかを知りたいと思っています。 –

答えて

0

ヒープメモリを物理メモリの約75%に増やすことができますが、「低速問題」を解決する可能性は低すぎます。問題はありません。使用する関数の長さを分析して、ユーザーが期待するよりも長く続きます。

1

アプリケーションをより高速にする正しい方法は、さまざまなツールや他の情報源を使用して、なぜそれが遅いのかを把握することです。たとえば:

  • 使用するWebブラウザのツールWebパフォーマンスに問題があるかどうかを確認するために、など
  • はどこを把握するためのコードで実行ホットスポットに
  • 使用して、システム・レベルのツールを識別するために、プロファイラを使用しますボトルネックは、例えばフロントエンドとバックエンド、ネットワークトラフィック、ディスクI/O ...スワッピング/スラッシング効果。
  • システムログファイルとアプリケーションログファイルで手がかりを確認してください。
  • JVM GCロギングをオンにし、GCと「遅い」リクエストの間に相関があるかどうかを確認します。

次に原因を説明します。

ヒープ/ GCパラメータは、腸の感覚のみに基づいてランダムに操作することはほとんどありません。

FWIW:ヒープサイズを大きくすると、ものが改善されない可能性があります。

関連する問題