This is
the first post of a new series that will bring you frequent and short “question of the
day” articles. This new format will complement my existing writing and is
designed to provide you with fast answers for common problems and questions
that I often get from work colleagues, IT clients and readers.
Each of
these QOTD posts will be archived and you will have access to the entire list
via a separate page. I also encourage you to post your feedback,
recommendations along with your own complement answer for each question.
Now let’s
get started with our first question of the day!
Question:
What is
the difference between Oracle Weblogic thread states & attributes (Total, Standby,
Active, idle, Hogging, Stuck)?
Answer:
Weblogic
thread state can be a particularly confusing topic for Weblogic administrators
and individuals starting to learn and monitor Weblogic threads. The thread monitoring section
can be accessed for each managed server Managed server under the Monitoring >
Threads tab.
As you can
see, the thread monitoring tab provides a complete view of each
Weblogic thread along with its state. Now let’s review each section and state so you
can properly understand how to assess the health.
# Summary section
- Execute Thread Total Count: This is the total number
of threads “created” from the Weblogic self-tuning pool and visible from
the JVM Thread Dump. This value correspond to the sum of: Active + Standby threads
- Active Execute Threads: This is the number of
threads “eligible” to process a request. When thread demand goes up,
Weblogic will start promoting threads from Standby to Active state which
will enable them to process future client requests
- Standby Thread Count: This is the number of threads waiting
to be marked “eligible” to process client requests. These threads are
created and visible from the JVM Thread Dump but not available yet to
process a client request
- Hogging Thread Count: This is the number of threads
taking much more time than the current execution time in average
calculated by the Weblogic kernel
- Execute Thread Idle Count: This is the number of
Active threads currently “available” to process a client request
In the
above snapshots, we have:
- Total of 43 threads, 29 in Standby state and 14 in
Active state
- Out of the 14 Active threads, we have 1 Hogging thread
and 7 Idle threads e.g. 7 threads “available” for request processing
- Another way to see the situation: we have a total of
7 threads currently “processing” client request with 1 out of 7 in Hogging
state (e.g. taking more time than current calculated average)
# Thread
matrix
This
matrix gives you a view of each thread along with its current state. There is
one more state that you must also understand:
- STUCK: A stuck thread is identified by Weblogic when it is taking more time than the configured stuck thread time (default is 600 seconds). When facing slowdown conditions, you will normally see Weblogic threads transitioning from the Hogging state followed by STUCK, depending how long these threads remain stuck executing their current request
2 comments:
Hi PH,
Can you please explain the relationship between CPU and Threads ?
Thanks,
Thirunavukkarasu
HI PH
CAN YOU PLEASE EXPLAIN HOW THE CONFIGURATION BE CHANGENED TO TERMINATE STUCK THREAD AFTER SPECIFIC TIME INTERVAL?
Post a Comment