OutOfMemorエラーの下に直面していて、JMeterが動作を停止します...
Java.lang.OutOfMemoryError: Java heap space Dumping heap to
Java_pid4412.hprof ... Heap dump file created [591747609 bytes in
71.244 secs] Exception in thread "AWT-EventQueue-0" Java.lang.OutOfMemoryError: Java heap space Exception in thread
"AWT-EventQueue-0" Java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" Java.lang.OutOfMemoryError:
Java heap space Exception in thread "AWT-EventQueue-0"
Java.lang.OutOfMemoryError: Java heap space
どうすれば解決できますか?
私のシステムは、16 GB RAM、2xクアッドコアプロセッサ、146 GB HDDなどの非常に優れた仕様になっています。
誰か助けてもらえますか?
ヒープダンプは、デフォルトのJMeter設定である512 Moを使用していることを示しています。したがって、16 GBがある場合でも、それらを使用していません。
Jmeter.batのオプションのデフォルトJVMを適切なサイズに置き換えます。
set HEAP=-server -Xms768m -Xmx768m -Xss128k
set NEW=-XX:NewSize=1024m -XX:MaxNewSize=1024m
また見てください:
JVMにどのくらいのメモリを割り当てましたか? 512 MBのどこか?
構成は
Java -Xms<initial heap size> -Xmx<maximum heap size>
OutOfMemoryError
を最適化するには、次の手順に従います。
JMeterは、Javaで動作するツールです[〜#〜] jvm [〜#〜]。最大値を取得するには機能では、実行中にJMeterに最大のリソースを提供する必要があります。最初に、ヒープサイズを増やす必要があります(JMeter binディレクトリ内で、jmeter.bat/sh
)。
HEAP=-Xms512m –Xmx512m
これは、デフォルトで割り当てられたヒープサイズが最小512MB、最大512MBであることを意味します。自分のマシン構成を自分のマシン構成として構成します。 OSもある程度のメモリを必要とするため、物理的なRAMはすべて割り当てないようにしてください。
JMeterはJava[〜#〜] gui [〜#〜]アプリケーションです。非GUIもありますリソースを大量に消費するエディション(CPU/RAM)。Jmeterを非GUIモードで実行すると、消費するリソースが少なくなり、さらに多くのリソースを実行できます糸。
負荷テスト中はリスナーを無効にする必要があります。それらを有効にすると追加のオーバーヘッドが発生し、テストのより重要な要素が必要とする貴重なリソースが消費されます。
JavaとJMeterは最新の状態に保つ必要があります。
リクエストとレスポンスヘッダーの保存に関しては、アサーション結果とレスポンスデータは大量のメモリを消費する可能性があります。したがって、絶対に必要でない限り、これらの値をJMeterに保存しないようにしてください。
JMeter起動スクリプトの次のJVM引数も追加または変更できます。
1。メモリ割り当て率を追加します:
NEW=-XX:NewSize=128m -XX:MaxNewSize=512m
つまり、メモリはこのレートで増加します。
2。-server
-ランタイムパラメータの最適化により、JVMを「サーバー」モードに切り替えます。このモードでは、JMeterの起動が遅くなりますが、全体的なスループットは高くなります。
3。-d64
-64ビットOSを使用しているときに、このパラメータを使用すると、JVMに64ビットモードで実行するよう明示的に指示できます。
4。-XX:+UseConcMarkSweepGC
-CMSガベージコレクターを強制的に使用します。全体的なスループットは低下しますが、CPUを集中的に使用するガベージコレクションが大幅に短縮されます。
5。-XX:+DisableExplicitGC
-これは、アプリケーションが高価なガベージコレクションを強制することを防ぎ、予期しない一時停止を回避するのに役立ちます。
よりよく、より詳細に理解するには、このブログ JMeter負荷テストの「メモリ不足」の失敗に対する9つの簡単なソリューション が役立ちます。
私にもこの問題があり、設定をどれだけ調整したかは問題ではありませんでしたJava -Xms<initial heap size> -Xmx<maximum heap size>
、いつもメモリが足りなくなったので。最終的に、JMeterをGUIモードで(特にリスナーを使用して)実行するとボトルネックが発生することがわかりました。 JMeterを使用する最良の方法は、特に拡張テストや複数のスレーブサーバーを実行する場合、非GUIモードで、次のようになります。
jmeter -n -t testplan.jmx -r
このリンクをチェックして、適切な方法でリモートテストを行う方法を読んでください: http://wiki.Apache.org/jmeter/JMeterFAQ#How_to_do_remote_testing_the_.27proper_way.27.3F 。 「適切な方法」のリモートテストに関するセクションをお読みください。
お役に立てれば。
多くのユーザーによるテスト中に、ツリー結果リスナーを使用していないかどうかを確認する必要があります。
この種の問題を回避するには、jmeterのベストプラクティスを確認してください。
よろしく
Jmeter.batファイルのHEAP SIZEを変更する必要があります。最初に、2GBまたは6GB(または設定したいサイズ)のサイズをmbに変換してから、保存して.batファイルを再起動する必要があります。
「set HEAP = -Xms512m -Xmx512m "の値を設定します
Jmeterバージョン3.xでは、$ JMETER_HOME/bin/jemter.sh(jmeter.bat)に記載されています。
## 環境変数:
## JVM_ARGS-オプションJava引数、たとえば-Dprop = val
##例.
## JVM_ARGS = "-Xms512m -Xmx512m" jmeter.shなど.
したがって、あなたのケースでは、あなたのニーズに十分に応じてそれを設定することができます例えば:
JVM_ARGS="-Xms1024m -Xmx1024m"
非GUIモードでJmeterを実行します。メモリのヒープサイズを増やします。リスナーを非常に少なく/追加しないでください。非GUIモードでJmeterを実行するには、binディレクトリに移動し、そのウィンドウでコマンドプロンプトを開きます。次のコマンドを使用します "jmeter.bat -n -t Test.jmx -l Test.csv"ここでTest.jmxは非GUIモードで開く必要があるテストファイルで、Test.csvは必要なファイルです保存された結果。メモリのサイズを増やすには、コマンドHEAP = "-Xms512m -Xmx2048m"を使用します。ここで512は既に割り当てられているメモリで、2048はJmeterに割り当てる必要があるメモリです。
お役に立てれば
サーバーには16 GBのRAM、JMeterのデフォルトのヒープサイズは512 MBですが、以下の手順に従ってヒープサイズを増やします。
1. Open jmeter file using vi editor /text editor
2. Search for "HEAP"
3. Change minimum (-Xms) and Maximum (-Xmx) heap values as you required
4. Save and quit (!wq enter)
5. Start Jmeter by sh jmeter.sh or bash jmeter.bat or Java -jar ApacheJMeter.jar
他の回答で述べたようにヒープサイズを調整し、いくつかのベストプラクティスも考慮に入れます
これらの2つの項目により、パフォーマンスとヒープサイズの使用率が大幅に向上します