My java web application deployed in tomcat8 on a linux machine has been leaking native memory, I\'ve tried to detect the source of the leak by using jemalloc profiling as de
JVM_FindSignal does not allocate memory at all. And this function is not typically called often at application run-time.
It seems your JDK installation does not include debug symbols, so that jemalloc
profiler cannot find the correct function name and just takes the nearest public symbol from libjvm.so
. JVM_FindSignal
is just one of these random symbols. Other entries in the profile also look wrong. E.g. AsyncGetCallTrace
which is accounted for 87.8% also allocates nothing at all.
Installing a separate package with JDK debug symbols might help.
On Debian / Ubuntu:
apt install openjdk-8-dbg
On RHEL / CentOS:
debuginfo-install java-1.8.0-openjdk