Looking for description of JVM internal threads
david.holmes at oracle.com
Wed Apr 18 15:45:05 PDT 2012
On 19/04/2012 6:55 AM, Le Huy wrote:
> I am writing a document about JVM internal threads e.g.
There is a tiny bit of documentation on:
Otherwise it's all in the source code. Some of these are VM threads;
otherwise are created by Java libraries for specific tasks.
> * "Attach Listener"
Handles tool-based remote attach requests
> * "VM Thread"
Internal VM thread that executes safepoint operations.
> * "C2 CompilerThreadXX"
C2 compiler thread
> * "Signal Dispatcher"
Thread created to handle signal dispatching. Which in turn creates a new
Java thread to handle specific signals.
> * "Finalizer"
Thread that executes finalizers.
> * "Reference Handler"
Thread to manage weak references and reference queues etc.
> * "Low Memory Detector"
Low memory detector :) Don't know what it does if it detects low memory
... trigger gc?
> * "VM Periodic Task Thread"
Aka the "WatcherThread". This is a VM thread that performs periodic
tasks eg updating performance counters.
> * ""GC task thread#XX"
GC thread. (Different Gcs can have different numbers of, and kinds of
> The purpose of the document is to help the team to analyze and
> identify issues from native stack captured from JVM
> in production.
> Can you recommend any source of information about them such as what
> are the role of each thread,
> how they communicate with each other, how they are kicked off, etc. ?
Details are all in the source code. Generally they are kicked off during
VM initialization or the initialization of the responsible library.
More information about the hotspot-dev