Building Apache JMeter - linux-on-ibm-z/docs GitHub Wiki
Building Apache JMeter
Below versions of Apache JMeter are available in respective distributions at the time of creation of these instructions:
- Ubuntu 20.04 has
2.13-4
- Ubuntu (22.04, 24.04, 24.10) has
2.13-5
General Notes:
- When following the steps below please use a standard permission user unless otherwise specified.
- A directory /<source_root>/ will be referred to in these instructions, this is a temporary writable directory anywhere you'd like to place it.
Apache Jmeter binaries are available and can be downloaded from here. To use these binaries, Java needs to be installed on mentioned distributions.
Note: Apache JMeter(v5.6.3) was verified at the time of creation of these instructions
1. Build libffi library (only needed for AdoptOpenJDK8 on Ubuntu, SLES and RHEL 9.x)
cd $SOURCE_ROOT/
wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz
tar xvfz libffi-3.2.1.tar.gz
cd libffi-3.2.1
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig
sudo ldconfig /usr/local/lib64
2. Install Java
-
RHEL (8.8, 8.10, 9.2, 9.4, 9.5)
-
With IBM Semeru Runtime (previously known as AdoptOpenJDK openj9)
sudo yum install -y tar wget curl fontconfig
- Download and install IBM Semeru Runtime (Java 8, 11 or 17) from here.
-
With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)
sudo yum install -y tar wget curl fontconfig
-
With OpenJDK8
sudo yum install -y java-1.8.0-openjdk-devel tar wget curl
-
With OpenJDK11
sudo yum install -y java-11-openjdk tar wget curl
-
With OpenJDK17 (Only for RHEL 8.x, 9.x)
sudo yum install -y java-17-openjdk tar wget curl
-
-
SLES 15 SP6
-
With IBM Semeru Runtime (previously known as AdoptOpenJDK openj9)
sudo zypper install -y curl tar wget dejavu-fonts gawk fontconfig gzip
- Download and install IBM Semeru Runtime (Java 8, 11 or 17) from here.
-
With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)
sudo zypper install -y curl tar wget dejavu-fonts gawk fontconfig gzip
-
With OpenJDK8
sudo zypper install -y java-1_8_0-openjdk-devel tar wget gzip curl
-
With OpenJDK11
sudo zypper install -y java-11-openjdk tar wget gzip curl
-
With OpenJDK17
sudo zypper install -y java-17-openjdk tar wget gzip curl
-
-
Ubuntu (20.04, 22.04, 24.04, 24.10)
-
With IBM Semeru Runtime (previously known as AdoptOpenJDK openj9)
sudo apt-get update sudo apt-get install -y tar wget libfontconfig1
- Download and install IBM Semeru Runtime (Java 8, 11 or 17) from here.
-
With Eclipse Adoptium Temurin Runtime (previously known as AdoptOpenJDK hotspot)
sudo apt-get update sudo apt-get install -y tar wget libfontconfig1
-
With OpenJDK8
sudo apt-get install -y openjdk-8-jdk
-
With OpenJDK11
sudo apt-get install -y openjdk-11-jdk openjdk-11-jdk-headless
-
With OpenJDK17
sudo apt-get install -y openjdk-17-jdk openjdk-17-jdk-headless
-
Note: At the time of creation of these build instructions, versions (jdk8u372-b07_openj9-0.38.0) (build jdk11.0.19+7) (build jdk-17.0.7+7) of Semeru runtime and versions (jdk8u282-b08) (build jdk-11.0.19+7) (build jdk-17.0.7+7) of Temurin runtime were used.
3. Set environment variables
export JAVA_HOME=<path to java>
export PATH=$JAVA_HOME/bin:$PATH
4. Comment out G1GC algorithm as it is unimplemented in OpenJDK zero variant (only for Openjdk8 and Temurin8)
- Edit
/<source_root>/<apache-jmeter-directory>/bin/jmeter
on line 185# Finally, some tracing to help in case things go astray: # You may want to add those settings: # -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -: "${GC_ALGO:="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20"}" +#: "${GC_ALGO:="-XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:G1ReservePercent=20"}" # Always dump on OOM (does not cost anything unless triggered)
5. Check installed JMeter version
export PATH=$SOURCE_ROOT/<apache-jmeter-directory>/bin:$PATH
jmeter --version