MacでJMeterインストールしても、
% brew install jmeter
起動させようとすると、起動中にJMeterのロゴが表示されるものの強制終了となってしまい、
jmeter WARNING: package sun.awt.X11 not in java.desktopなどとなり起動しない対策
% jmeter
WARNING: package sun.awt.X11 not in java.desktop
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
/opt/homebrew/Cellar/jmeter/5.6.2/libexec/bin/jmeter: line 199: 20026 Trace/BPT trap: 5 "$JAVA_HOME/bin/java" $ARGS $JVM_ARGS $JMETER_OPTS -jar "$PRGDIR/ApacheJMeter.jar" "$@"
JavaをAdoptOpenJDKに変える。
% brew install AdoptOpenJDK
インストールされているJavaを確認
/usr/libexec/java_home -V
Matching Java Virtual Machines (2):
17.0.1 (arm64) "Oracle Corporation" - "Java SE 17.0.1" /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
16.0.1 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 16" /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
Oracle の Java と AdoptOpenJDK の2種類がインストールされている。
パスを変える
.zshrc の末尾に下記を追加
.zshrc
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH
.zshrcの変更を反映
% source .zshrc
JMeterの起動コマンドを修正します。
起動コマンドのJAVA_HOME部分を削除します。
修正前
/opt/homebrew/Cellar/jmeter/5.6.2/bin/jmeter
#!/bin/bash
JAVA_HOME="/opt/homebrew/opt/openjdk@17" exec "/opt/homebrew/Cellar/jmeter/5.6.2/libexec/bin/jmeter" "$@"
修正後
/opt/homebrew/Cellar/jmeter/5.6.2/bin/jmeter
#!/bin/bash
exec "/opt/homebrew/Cellar/jmeter/5.6.2/libexec/bin/jmeter" "$@"
これでjmeter起動できました。
% jmeter
WARNING: package sun.awt.X11 not in java.desktop
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
================================================================================
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
& increase Java Heap to meet your test requirements:
Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file
Check : https://jmeter.apache.org/usermanual/best-practices.html
================================================================================
Warning: the fonts "Times" and "Times" are not available for the Java logical font "Serif", which may have unexpected appearance or behavior. Re-enable the "Times" font to remove this warning.
原因ですが、OracleのJavaではJMeterはJava8までしか対応していなく、AdoptOpenJDKはJava8以降にも対応していますが、jmeter起動コマンドがJAVA_HOMEを固定していたためにAdoptOpenJDKをインストールするだけではJMeterのJavaは切り替わらず、OracleのJavaで起動し続けていたためのように見えます。
WARNING: package sun.awt.X11 not in java.desktop は出たままですが、JMeter起動できたため良しとします。