Saturday, March 3, 2012

Monitoring with jconsole

Managing WebLogic servers with JConsole
https://blogs.oracle.com/WebLogicServer/entry/managing_weblogic_servers_with

Java Management Extensions (JMX)
http://docs.oracle.com/javase/6/docs/technotes/guides/jmx/index.html

Tutorial: Java Management Extensions (JMX)
http://docs.oracle.com/javase/tutorial/jmx/TOC.html

jconsole usage
Usage: jconsole [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]

-interval Set the update interval to n seconds (default is 4 seconds)
-notile Do not tile windows initially (for two or more connections)
-pluginpath Specify the path that jconsole uses to look up the plugins
-version Print program version

connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)
pid The process id of a target process
host A remote host name or IP address
port The port number for the remote connection

-J Specify the input arguments to the Java virtual machine
on which jconsole is running



Command line
[dave@dave app]$ jconsole -J-Djava.class.path=$JAVA_HOME/lib/jconsole.jar:$JAVA_HOME/lib/tools.jar:$WL_HOME/server/lib/wlfulclient.jar -J-Djmx.remote.protocol.provider.pkgs=weblogic.management.remote -debug



Plan task FibonacciTask 94
Plan task FibonacciTask 95
Plan task FibonacciTask 96
Plan task FibonacciTask 97
Plan task FibonacciTask 98
Plan task FibonacciTask 99
wm.waitForAll
## [FibWork][ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 36
## [FibWork][ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 38
## [FibWork][ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 39
## [FibWork][ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 40
## [FibWork][ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 41
## [FibWork][ACTIVE] ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 42
## [FibWork][ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 43
## [FibWork][ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 44
## [FibWork][ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 45
## [FibWork][ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 46
## [FibWork][ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 47
## [FibWork][ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 48
## [FibWork][ACTIVE] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 49
## [FibWork][ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 50
## [FibWork][ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 51
## [FibWork][ACTIVE] ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)' self-tuning workmanager: daveWM
Running task FibonacciTask 52



Thread dump
Name: [ACTIVE] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)'
State: RUNNABLE
Total blocked: 98 Total waited: 120

Stack trace:
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.fibonacci(FibonacciTask.java:19)
dave.FibonacciTask.run(FibonacciTask.java:13)
dave.FibWork.run(FibWork.java:29)
weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
weblogic.work.ExecuteThread.run(ExecuteThread.java:221)


Processes
op - 08:37:09 up 10:55, 10 users,  load average: 10.68, 9.80, 5.91
Tasks: 177 total, 1 running, 176 sleeping, 0 stopped, 0 zombie
Cpu(s): 96.1%us, 3.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1533932k total, 1411044k used, 122888k free, 13200k buffers
Swap: 2514100k total, 76348k used, 2437752k free, 369768k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4219 dave 20 0 902m 235m 16m S 171.1 15.7 25:34.98 java
1951 dave 9 -11 160m 4832 4116 S 8.5 0.3 6:55.87 pulseaudio
3824 dave 20 0 530m 208m 24m S 6.2 13.9 6:08.51 firefox
3856 dave 20 0 317m 68m 11m S 6.2 4.6 7:35.17 plugin-containe
4273 dave 20 0 494m 139m 19m S 3.3 9.3 1:03.21 jconsole
1633 root 20 0 137m 22m 14m S 2.6 1.5 9:10.48 Xorg
2402 dave 20 0 124m 13m 9328 S 2.0 0.9 1:02.39 gnome-terminal
1155 root 20 0 0 0 0 S 0.3 0.0 0:34.19 kondemand/0
4337 dave 20 0 1001m 327m 29m S 0.3 21.9 1:14.09 eclipse
4575 dave 20 0 2728 1012 756 R 0.3 0.1 0:00.23 top
1 root 20 0 2888 1032 916 S 0.0 0.1 0:01.66 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.20 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.90 migration/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root RT 0 0 0 0 S 0.0 0.0 0:01.11 migration/1
7 root 20 0 0 0 0 S 0.0 0.0 0:00.86 ksoftirqd/1



Stuck thread
<Mar 4, 2012 8:39:35 AM CET> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '11' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "717" seconds working on the request "Workmanager: daveWM, Version: 1, Scheduled=true, Started=true, Started time: 717593 ms
", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:



JVM overview


Application attributes


Weblogic process threads

No comments:

Post a Comment