LinuxでJMeterをインストールしてシナリオを実行する方法を解説します。
JMeterのインストール
jdkのインストール
まずはJMeterを動かすためのjdkをインストールします。
yum install java-1.8.0-openjdk
※バージョンはお使いの環境に合わせてください。
Jmeterのダウンロード
次に、JMeterを公式サイトよりダウンロードします。
以下からJMeterの最新バージョンを確認します。
http://ftp.meisei-u.ac.jp/mirror/apache/dist//jmeter/binaries
以下のコマンドでJMeterをダウンロードします。
バージョンの個所は先ほど確認したものを指定してください。
wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//jmeter/binaries/apache-jmeter-5.2.1.tgz
適当な個人フォルダなどにダウンロードしておきましょう。
JMeterの展開
次に以下のコマンドでtgzを展開します。
tar xvzf apache-jmeter-5.2.1.tgz
展開したフォルダの「/bin/jmeter」が実行ファイルになります。
シナリオの実行
インストールが終わったので、試しにシナリオを実行してみましょう。
私は、WindowsのGUIで作成したシナリオをFTPでLinuxに転送しました。
シナリオの作成方法は以下の記事を参照ください。
シナリオの準備ができたら以下のコマンドでJMeterを起動できます。
[JMeterをインストールしたパス]/bin/jmeter -n -t [実行するシナリオファイル(.jmx)] -l [結果ファイル(.jtl)]
・コマンドオプション説明
-n…コマンドラインモードで実行
-t…実行するシナリオファイル
-l…結果ファイルの保存場所
※その他詳細はヘルプコマンドでご確認下さい。
以上でLinuxでJMterを起動し、シナリオを実行することができます。
実行時にCannot allocate memoryが発生した場合の対処法
エラーの意味
実行時に以下のようなエラーが発生した場合の対応方法です。
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
これは、JMeter実行時にヒープメモリが確保できなかったことを表すエラーメッセージです。
おそらく、JMeterがマシンの物理メモリ以上にヒープメモリを確保しようとしたことが原因です。
これを解消するには、JMeterが実行時に確保するヒープメモリを下げてやればいいです。
エラー対処方法
JMeterでは、以下のファイルにヒープメモリの設定を持っています。
・Windows…bin/jmeter.bat
・Linux…bin/jmeter
それぞれのファイルで「heap」で検索し、以下のような個所を探します。
set HEAP=-Xms1g -Xmx1g
ここがJMeterのヒープメモリ設定箇所です。
例えば、上記はヒープを1g=1ギガバイト確保するという設定になります。
ここの初期値はバージョンや環境によって異なるので、適宜読み替えてください。
ここを例えば以下のように変更すると、ヒープサイズを512MBに下げることができます。
HEAP:="-Xms512m -Xmx512m
この状態でJMeterを実行してみてください。
これでも同様のエラーが出る場合は、逆にヒープサイズが足りなくてJMeterが実行できない可能性もあります。
その場合は、確保するメモリの領域を増やしてみてください。