Stack walking performance issue
Aleksey Shipilev
shade at redhat.com
Mon Mar 18 08:20:14 UTC 2019
On 3/17/19 3:43 PM, Amir Hadadi wrote:
> We've encountered the following performance issue which happens on an instance deployed in docker with ubuntu 16.04, Linux kernel 4.4.0-92-generic and OpenJDK 11.0.2.
> The issue shows up with zgc but does not show up with G1.
>
> During a period of 10 days after deployment, CPU usage goes up steadily at a rate of ~10% per day. Eventually we have to restart all instances.
> I profiled our app after 4 days of uptime using async-profiler and found that the following stack is the most frequent stack: https://gist.github.com/amirhadadi/48b6f84e3b2412124e817a50608e6ddd
I wonder if this is due to ResolvedMethodTable (RMT) never cleaned, and this is why lookup takes a
very long time. RMT cleanups are normally done in the course of class unloading (see
SystemDictionary::do_unloading), but ZGC does only implement it starting jdk12 [1]. If so, there is
no workaround for jdk11.
-Aleksey
[1] https://bugs.openjdk.java.net/browse/JDK-8214897
More information about the zgc-dev
mailing list