JMeterの’Cannot allocate memory’ (errno=12)エラー解決

こんにちは。KOUKIです。

最近、APIの負荷試験のためにJMeterを触り始めたのですが、次のエラーが出て困ったので備忘を残します。

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000bad30000, 986513408, 0) failed; error=’Cannot allocate memory’ (errno=12)

何をしたか

EC2を「Amazon Linux 2 AMI(HVM),SSD Volume Type(t2.micro)」で構築し、以下の手順でJMeterをインストールしました。

そして、設定ファイル(jmx)をEC2上に上げて、下記のコマンドを実行したところ、例のエラーが出ました。

解決

デフォルトのHEAP領域が少なすぎることが原因で発生しているようです。

そこで、インストールしたjmeterのbinフォルダ内にあるjmeter.shを確認すると、以下の記述がありました。

「JVM_ARGS=”-Xms512m -Xmx512m”」をコマンドの前につけて実行すると、事象が回避できるようです。
※HEAP領域を変更できる

つまり、解決方法(の一つ)は、以下のコマンドを実行することです。

私の環境では、これで問題なく実行することができました!

おわりに

JMeterは、GUIで実行する方法とCUIで実行する方法があります。

しかし、GUIからの実行だとローカルのネット環境に影響されてしまうため、なるべくEC2内でCUI実行する方が正確な試験ができるかと思います(とはいえ、今回のエラーに遭遇するわけですが)。

それでは、また!

コメントを残す