Server: Monitoring: Environment Monitoring: Threads
This page provides information on the thread activity for the current server.
The first table provides general information about the status of the thread pool. The second table provides information on individual threads.
Note: The user ID displayed for individual threads is the user ID executing the thread during the current stage of the request. This table may display different user IDs during the lifecycle of the thread.
When using Work Managers to prioritize thread execution, WebLogic Server uses a single thread pool, in which all types of work are executed. WebLogic Server prioritizes work based on rules you define and runtime metrics, including the actual time it takes to execute a request and the rate at which requests are entering and leaving the pool.
The common thread pool changes its size automatically to maximize throughput. The queue monitors throughput over time and, based on history, determines whether to adjust the thread count. For example, if historical throughput statistics indicate that a higher thread count increased throughput, WebLogic Server increases the thread count. Similarly, if statistics indicate that fewer threads did not reduce throughput, WebLogic Server decreases the thread count. This new strategy makes it easier for administrators to allocate processing resources and manage performance, avoiding the effort and complexity involved in configuring, monitoring, and tuning custom execute queues.
WebLogic Server provides another method for prioritizing and executing threads. This method is used for backward compatibility when using execute queues. In this method, different classes of work were executed in different queues, based on priority and ordering requirements, and to avoid deadlocks. In addition to the default execute queue, weblogic.kernel.default, there were pre-configured queues dedicated to internal administrative traffic, such as weblogic.admin.HTTP and weblogic.admin.RMI.
Buttons
Name Description Dump Thread Stacks Displays the current stacks for each thread.
Column Display
Name Description Active Execute Threads The number of active execute threads in the pool.
MBean Attribute:
ThreadPoolRuntimeMBean.ExecuteThreadTotalCount
Execute Thread Total Count The total number of threads in the pool.
MBean Attribute:
ThreadPoolRuntimeMBean.ExecuteThreadTotalCount
Execute Thread Idle Count The number of idle threads in the pool. This count does not include standby threads and stuck threads. The count indicates threads that are ready to pick up new work when it arrives
MBean Attribute:
ThreadPoolRuntimeMBean.ExecuteThreadIdleCount
Queue Length The number of pending requests in the priority queue. This is the total of internal system requests and user requests.
MBean Attribute:
ThreadPoolRuntimeMBean.QueueLength
Pending User Request Count The number of pending user requests in the priority queue. The priority queue contains requests from internal subsystems and users. This is just the count of all user requests.
MBean Attribute:
ThreadPoolRuntimeMBean.PendingUserRequestCount
Completed Request Count The number of completed requests in the priority queue.
MBean Attribute:
ThreadPoolRuntimeMBean.CompletedRequestCount
Hogging Thread Count The threads that are being held by a request right now. These threads will either be declared as stuck after the configured timeout or will return to the pool before that. The self-tuning mechanism will backfill if necessary.
MBean Attribute:
ThreadPoolRuntimeMBean.HoggingThreadCount
Standby Thread Count The number of threads in the standby pool. Threads that are not needed to handle the present work load are designated as standby and added to the standby pool. These threads are activated when more threads are needed.
MBean Attribute:
ThreadPoolRuntimeMBean.StandbyThreadCount
Throughput The mean number of requests completed per second.
MBean Attribute:
ThreadPoolRuntimeMBean.Throughput
Health The health state of this pool.
MBean Attribute:
ThreadPoolRuntimeMBean.HealthState
Column Display
Name Description Name The name of the execute thread.
Total Requests The number of requests which have been processed by this queue.
Current Request The request this thread is currently processing.