BBH
-Biz Branding Hub-
投稿日 : 
2020/04/13
更新日 : 
2020/04/13

LinuxでJMeterをインストールして実行する方法

LinuxでJMeterをインストールする方法

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が発生した場合の対処法

エラーの意味

実行時に以下のようなエラーが発生した場合の対応方法です。

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に下げることができます。

ヒープサイズを512MBに設定

HEAP:="-Xms512m -Xmx512m

この状態でJMeterを実行してみてください。
これでも同様のエラーが出る場合は、逆にヒープサイズが足りなくてJMeterが実行できない可能性もあります。
その場合は、確保するメモリの領域を増やしてみてください。

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend