2

Im profiling my JAVA application to find who is consuming the cpu. based on my cpu view of a snapshot, I found NetIO is consuming the most of my cpu.

  1. But what does this state really mean?
  2. Are the threads in this state really consuming CPU?
  3. Is This state maps to a JAVA VM thread state or a native thread state?

enter image description here

Edit: Based on the java thread dump, the NetIO thread is actually in RUNNABLE state.

hakunami
  • 2,351
  • 4
  • 31
  • 50

1 Answers1

0

But what does this state really mean?

It's tracking network calls. It could be part of the waiting state, but that would be less useful.

Are the threads in this state really consuming CPU?

There is usually a low CPU load in this thread state.

Is This state maps to a JAVA VM thread state or a native thread state?

No, it's entirely based on instrumentation of methods that make network calls in the runtime library of the JRE.

Ingo Kegel
  • 46,523
  • 10
  • 71
  • 102
  • But I do face a high cpu load problem, the app makes alot blockingIO calls (`socketRead0`), so if this NetIO is actually the threads in vm that waiting the io, it will explain. – hakunami Apr 27 '17 at 07:21