Techempower benchmark spends 9% of time in System.nanoTime()? #30437
-
Hi @franz1981 , following up to our previous discussion on profiling the Techempower benchmark, this is number 2 of the hotspots that JProfiler sees with async profiling (running the benchmark using Docker on x86 Linux), inbetween sending and receiving data, i.e. more time spent there than IO for reading data: By comparing the calling Java code, this seem to be calls to The JVM's code seems to be this: Do you have an idea what we are seeing here? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 2 replies
-
This is what one call path into |
Beta Was this translation helpful? Give feedback.
-
Did you tried outside of docker? Sadly inlining and Intrinsics often makes profilers confused, including async profiler that indeed relies on AsyncGetCallTrace, that can be prone to point to the wrong method to blame in such cases. |
Beta Was this translation helpful? Give feedback.
-
It turns out
I found this in /var/log/syslog:
Am now trying to find out whether that can be fixed... |
Beta Was this translation helpful? Give feedback.
-
For the records, updating the BIOS wasn't enough, I also had to set the Kernel boot parameter Now that TSC is available as clocksource, |
Beta Was this translation helpful? Give feedback.
For the records, updating the BIOS wasn't enough, I also had to set the Kernel boot parameter
processor.max_cstate=1
.Now that TSC is available as clocksource,
System.nanoTime()
doesn't show up anymore in profiling.