Thank you for the response Darran Lofthouse.
Unfortunately, when the CPU utilization is high, we are not able to generate heapdump or threaddump. However I managed to generate process stack using gdb and almost all the processes are stuck here:
Thread 246 (Thread 0x7fa93ceb5700 (LWP 8409)):
#0 0x00007fa965568a35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00007fa964432873 in os::PlatformEvent::park() () from /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/lib/server/libjvm.so
#2 0x00007fa9643dc1a2 in Monitor::IWait(Thread*, long) () from /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/lib/server/libjvm.so
#3 0x00007fa9643dcd66 in Monitor::wait(bool, long, bool) () from /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/lib/server/libjvm.so
#4 0x00007fa96414a08e in JVM_WaitForReferencePendingList () from /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64/lib/server/libjvm.so
#5 0x00007fa94ab50a30 in ?? ()
#6 0x00007fa93ceb48f0 in ?? ()
Regards,
Arjun