IBM Support

Why running the performance MustGather (e.g. linperf.sh script) caused high CPU and long delays

Troubleshooting


Problem

Collecting the performance MustGather (specifically the 9 javacores produced by e.g. linperf.sh/aixperf.sh script) unexpectedly caused high CPU and long delays.

Cause


In IBM JVM a request for heapdump generation, whether manual or automatic, first triggers a global garbage collection (GC) cycle, by design, so that the resulting heapdump will reflect heap contents without garbage.
On the other hand, javacore generation does not trigger a global GC cycle (thus reflecting the heap size at that point in time, uncollected garbage included).

A consequence of this is that javacore generation is very quick while heapdump generation can take significant time and CPU as global GC is time consuming and CPU intensive.

Heapdump generation also impacts application performance as garbage collection is "stop-the-world" hence applications cannot run during GC cycles thus further impacting the performance of the application and therefore skewing the performance of the MustGather results.
(Along the same lines, one shouldn't generate core dumps/system dumps either since although core dump generation
does not trigger a global GC cycle it can still take significant time because of the large amount of data written to disk.
As a consequence of no automatic global GC, a core dump contains a snapshot of the content of the heap at that point in time, including uncollected garbage.)

Diagnosing The Problem

Check in native_stderr.log whether alongside the 9 expected javacore files,  there were generated any additional heapdumps and/or core files.

Resolving The Problem

If you are running one of the performance MustGather,  then remove following environment variables, if present:
IBM_HEAPDUMP=true
IBM_HEAP_DUMP=true
or following JVM generic argument(s)
-Xdump:heap
-Xdump:system 

Related Information

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[],"ARM Case Number":"TS004027320","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Historical Number

TS004027320;TS014527445

Document Information

Modified date:
14 November 2023

UID

ibm17070482