This error message "libjennifer20 shared library loaded failed: java.lang.UnsatisfiedLinkError: no jennifer20 in java.library.path" occur when JENNIFER agent failed to load JENNIFER native library.
JENNIFER native library is used to collect system resources such as System CPU.
How to fix this error
In order to fix this error, we need to make sure that we are using the correct native library. The following steps shows how to test and load JENNIFER native library.
These steps are for Linux environment, but the same steps can be applied to other envrionments
- Go to JENNIFER agent JNI linux directory
- You will see list of native libraries. You should test the most approperiate library. For example if you are using a 32 bit linux, then test libjennifer20_linux_32_32.so first.
- Rename the library to libjennifer20.so
cp libjennifer20_32_32.so libjennifer20.so
- Execute test.sh file to test the library
- If the library under test is working, then you will see CPU information. Otherwise, you will see an error message. In case of error, you should test other library till you find the most suitable one.
- After testing the library you will need to copy the library to a loadable directory by the JVM (copy the library to one of the directories defined in sun.boot.library.path)
- Restart your web application server.
- JENNIFER should be able to the load native library and you should be able to see system resources information on JENNIFER client.