`

java自带监视工具使用_jps_jstack

 
阅读更多

jps命令(Java Virtual Machine Process Status Tool)

1.介绍
用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。使用jps时,不需要传递进程号做为参数。

Jps也可以显示远程系统上的JAVA进程,这需要远程服务上开启了jstat服务,以及RMI注及服务,不过常用都是对本对的JAVA进程的查看。

2.命令格式
jps [ options ] [ hostid ]

3.常用参数说明
-m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null。
-l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。
-v 输出传给JVM的参数。

4.使用示例

[root@diancai1 heapdump]# jps
25674 -- process information unavailable
7888 Bootstrap
7011 -- process information unavailable
4069 DiancaiMain
24044 Bootstrap
24356 Bootstrap
15639 Jps

 

[root@diancai1 heapdump]# jps -v
25674 -- process information unavailable
7888 Bootstrap -Djava.util.logging.config.file=/home/cms/tomcata/conf/logging.properties -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/java_dump/tomcata/ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/cms/tomcata/endorsed -Dcatalina.base=/home/cms/tomcata -Dcatalina.home=/home/cms/tomcata -Djava.io.tmpdir=/home/cms/tomcata/temp
7011 -- process information unavailable
4069 DiancaiMain
15737 Jps -Denv.class.path=.:/usr/java/lib/dt.jar:/usr/java/lib/tools.jar -Dapplication.home=/usr/java -Xms8m
24044 Bootstrap -Djava.util.logging.config.file=/home/cms/tomcatb/conf/logging.properties -Xms4096m -Xmx4096m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/java_dump/tomcatb/ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/cms/tomcatb/endorsed -Dcatalina.base=/home/cms/tomcatb -Dcatalina.home=/home/cms/tomcatb -Djava.io.tmpdir=/home/cms/tomcatb/temp
24356 Bootstrap -Djava.util.logging.config.file=/home/cms/tomcatc/conf/logging.properties -Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/java_dump/tomcatc/ -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/cms/tomcatc/endorsed -Dcatalina.base=/home/cms/tomcatc -Dcatalina.home=/home/cms/tomcatc -Djava.io.tmpdir=/home/cms/tomcatc/temp

 

[root@diancai1 heapdump]# jps -l
25674 -- process information unavailable
7888 org.apache.catalina.startup.Bootstrap
7011 -- process information unavailable
15793 sun.tools.jps.Jps
4069 com.diancai.main.DiancaiMain
24044 org.apache.catalina.startup.Bootstrap
24356 org.apache.catalina.startup.Bootstrap

 

jstack命令(Java Stack Trace)

 

1.介绍
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid

如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

2.命令格式

jstack [ option ] pid
jstack [ option ] executable core
jstack [ option ] [server-id@]remote-hostname-or-IP

 
3常用参数说明
1) options:
executable Java executable from which the core dump was produced.
(可能是产生core dump的java可执行程序)

core 将被打印信息的core dump文件
remote-hostname-or-IP 远程debug服务的主机名或ip
server-id 唯一id,假如一台主机上多个远程debug服务

2) 基本参数:

-F当’jstack [-l] pid’没有相应的时候强制打印栈信息
-l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.
-m打印java和native c/c++框架的所有栈信息.
-h | -help打印帮助信息

pid 需要被打印配置信息的java进程id,可以用jps查询.

4.使用示例:

[root@diancai1 heapdump]# jstack -l 7888

....

"http-8080-2" daemon prio=10 tid=0x0000000053d5f000 nid=0x1f0d in Object.wait() [0x0000000044a00000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
        - locked <0x00002aaabe442260> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
        at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
        - None

"http-8080-1" daemon prio=10 tid=0x0000000053d5d000 nid=0x1f0c in Object.wait() [0x0000000041b10000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
        - locked <0x00002aaabe43e9c0> (a org.apache.tomcat.util.net.JIoEndpoint$Worker)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
        at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
        - None

"http-8080-Acceptor-0" daemon prio=10 tid=0x00002aabc860b000 nid=0x1f0b runnable [0x0000000041a0f000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        - locked <0x00002aaabe484e70> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
        at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
        at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
        - None

"ContainerBackgroundProcessor[StandardEngine[Catalina]]" daemon prio=10 tid=0x00002aabc8879800 nid=0x1f0a waiting on condition [0x0000000040bda000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1631)
        at java.lang.Thread.run(Thread.java:619)

   Locked ownable synchronizers:
        - None

"Memcached IO over {MemcachedConnection to /172.16.3.2:11211}" prio=10 tid=0x00002aabc895a800 nid=0x1f09 runnable [0x000000004190e000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00002aaabe427390> (a sun.nio.ch.Util$1)
        - locked <0x00002aaabe4273a8> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00002aaabe427318> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:217)
        at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:833)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#19" daemon prio=10 tid=0x00002aabc891d800 nid=0x1f08 in Object.wait() [0x00000000448ff000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#18" daemon prio=10 tid=0x00002aabc891b800 nid=0x1f07 in Object.wait() [0x00000000447fe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#17" daemon prio=10 tid=0x00002aabc8919800 nid=0x1f06 in Object.wait() [0x00000000446fd000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#16" daemon prio=10 tid=0x00002aabc8917800 nid=0x1f05 in Object.wait() [0x00000000445fc000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#15" daemon prio=10 tid=0x00002aabc88be800 nid=0x1f04 in Object.wait() [0x00000000444fb000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#14" daemon prio=10 tid=0x00002aabc88bc800 nid=0x1f03 in Object.wait() [0x00000000443fa000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#13" daemon prio=10 tid=0x00002aabc88ba800 nid=0x1f02 in Object.wait() [0x00000000442f9000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#12" daemon prio=10 tid=0x00002aabc88b8800 nid=0x1f01 in Object.wait() [0x00000000441f8000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#11" daemon prio=10 tid=0x00002aabc88b6800 nid=0x1f00 in Object.wait() [0x00000000440f7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#10" daemon prio=10 tid=0x00002aabc88b4800 nid=0x1eff in Object.wait() [0x0000000043ff6000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#9" daemon prio=10 tid=0x00002aabc84de800 nid=0x1efe in Object.wait() [0x0000000043ef5000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#8" daemon prio=10 tid=0x00002aabc837f800 nid=0x1efd in Object.wait() [0x0000000043df4000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#7" daemon prio=10 tid=0x00002aabc84a6800 nid=0x1efc in Object.wait() [0x0000000043cf3000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#6" daemon prio=10 tid=0x00002aabc875c800 nid=0x1efb in Object.wait() [0x0000000043bf2000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#5" daemon prio=10 tid=0x00002aabc88cb800 nid=0x1efa in Object.wait() [0x0000000043af1000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#4" daemon prio=10 tid=0x00002aabc8905000 nid=0x1ef9 in Object.wait() [0x00000000439f0000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#3" daemon prio=10 tid=0x00002aabc878b800 nid=0x1ef8 in Object.wait() [0x00000000438ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2" daemon prio=10 tid=0x00002aabc88ed000 nid=0x1ef7 in Object.wait() [0x00000000437ee000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1" daemon prio=10 tid=0x000000005590b000 nid=0x1ef6 in Object.wait() [0x00000000436ed000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0" daemon prio=10 tid=0x0000000054356800 nid=0x1ef5 in Object.wait() [0x00000000435ec000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:534)
        - locked <0x00002aaabe452d10> (a com.mchange.v2.async.ThreadPoolAsynchronousRunner)

   Locked ownable synchronizers:
        - None

"Timer-0" daemon prio=10 tid=0x0000000053a64800 nid=0x1ef4 in Object.wait() [0x00000000434eb000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.util.TimerThread.mainLoop(Timer.java:509)
        - locked <0x00002aaabe47a160> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:462)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_QuartzSchedulerThread" prio=10 tid=0x00002aabc8398000 nid=0x1ef3 in Object.wait() [0x00000000433ea000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:297)
        - locked <0x00002aaabe4305a8> (a java.lang.Object)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10" prio=10 tid=0x00002aabc86ac800 nid=0x1ef2 in Object.wait() [0x00000000432e9000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe5024c0> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-9" prio=10 tid=0x00002aabc809a800 nid=0x1ef1 in Object.wait() [0x00000000431e8000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe458048> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-8" prio=10 tid=0x00002aabc86fb000 nid=0x1ef0 in Object.wait() [0x00000000430e7000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe458520> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-7" prio=10 tid=0x00002aabc86fa800 nid=0x1eef in Object.wait() [0x0000000042fe6000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe504a58> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-6" prio=10 tid=0x00002aabc83a2800 nid=0x1eee in Object.wait() [0x0000000042ee5000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe504558> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-5" prio=10 tid=0x00002aabc84cd000 nid=0x1eed in Object.wait() [0x0000000042de4000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe504058> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-4" prio=10 tid=0x00002aabc84f5800 nid=0x1eec in Object.wait() [0x0000000042ce3000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe503b58> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-3" prio=10 tid=0x00002aabc8220800 nid=0x1eeb in Object.wait() [0x0000000042be2000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe503658> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-2" prio=10 tid=0x00002aabc8799000 nid=0x1eea in Object.wait() [0x0000000042ae1000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe503158> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-1" prio=10 tid=0x00002aabc8683800 nid=0x1ee9 in Object.wait() [0x00000000429e0000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:519)
        - locked <0x00002aaabe502a78> (a org.quartz.simpl.SimpleThreadPool$WorkerThread)

   Locked ownable synchronizers:
        - None

"Memcached IO over {MemcachedConnection to /172.16.3.2:11211}" prio=10 tid=0x00002aabc880b000 nid=0x1ee8 runnable [0x000000004162c000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:215)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:65)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
        - locked <0x00002aaabe458bd0> (a sun.nio.ch.Util$1)
        - locked <0x00002aaabe458be8> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00002aaabe458b58> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
        at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.java:217)
        at net.spy.memcached.MemcachedConnection.run(MemcachedConnection.java:833)

   Locked ownable synchronizers:
        - None

"GC Daemon" daemon prio=10 tid=0x00002aabc8001800 nid=0x1ee7 in Object.wait() [0x0000000040209000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at sun.misc.GC$Daemon.run(GC.java:100)
        - locked <0x00002aaabe2101d0> (a sun.misc.GC$LatencyLock)

   Locked ownable synchronizers:
        - None

"Low Memory Detector" daemon prio=10 tid=0x00002aabc0003800 nid=0x1ee5 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"CompilerThread1" daemon prio=10 tid=0x0000000053681000 nid=0x1ee4 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"CompilerThread0" daemon prio=10 tid=0x000000005367e800 nid=0x1ee3 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Signal Dispatcher" daemon prio=10 tid=0x000000005367c800 nid=0x1ee2 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"Finalizer" daemon prio=10 tid=0x000000005365f800 nid=0x1ee1 in Object.wait() [0x0000000041329000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
        - locked <0x00002aaabe210ac0> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

   Locked ownable synchronizers:
        - None

"Reference Handler" daemon prio=10 tid=0x0000000053658800 nid=0x1ee0 in Object.wait() [0x0000000041228000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:485)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
        - locked <0x00002aaabe2101b0> (a java.lang.ref.Reference$Lock)

   Locked ownable synchronizers:
        - None

"main" prio=10 tid=0x00000000535e4000 nid=0x1ed1 runnable [0x00000000403f4000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
        - locked <0x00002aaabe6469c8> (a java.net.SocksSocketImpl)
        at java.net.ServerSocket.implAccept(ServerSocket.java:453)
        at java.net.ServerSocket.accept(ServerSocket.java:421)
        at org.apache.catalina.core.StandardServer.await(StandardServer.java:431)
        at org.apache.catalina.startup.Catalina.await(Catalina.java:676)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:628)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

   Locked ownable synchronizers:
        - None

"VM Thread" prio=10 tid=0x0000000053651800 nid=0x1edf runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00000000535ee000 nid=0x1ed2 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00000000535f0000 nid=0x1ed3 runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00000000535f2000 nid=0x1ed4 runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00000000535f3800 nid=0x1ed5 runnable 

"GC task thread#4 (ParallelGC)" prio=10 tid=0x00000000535f5800 nid=0x1ed6 runnable 

"GC task thread#5 (ParallelGC)" prio=10 tid=0x00000000535f7800 nid=0x1ed7 runnable 

"GC task thread#6 (ParallelGC)" prio=10 tid=0x00000000535f9000 nid=0x1ed8 runnable 

"GC task thread#7 (ParallelGC)" prio=10 tid=0x00000000535fb000 nid=0x1ed9 runnable 

"GC task thread#8 (ParallelGC)" prio=10 tid=0x00000000535fd000 nid=0x1eda runnable 

"GC task thread#9 (ParallelGC)" prio=10 tid=0x00000000535fe800 nid=0x1edb runnable 

"GC task thread#10 (ParallelGC)" prio=10 tid=0x0000000053600800 nid=0x1edc runnable 

"GC task thread#11 (ParallelGC)" prio=10 tid=0x0000000053602800 nid=0x1edd runnable 

"GC task thread#12 (ParallelGC)" prio=10 tid=0x0000000053604000 nid=0x1ede runnable 

"VM Periodic Task Thread" prio=10 tid=0x00002aabc0006800 nid=0x1ee6 waiting on condition 

JNI global references: 851

 

分享到:
评论

相关推荐

    JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    JVM监控工具是Java开发者和运维人员不可或缺的工具,通过这些工具可以监控和诊断Java应用程序的性能和资源使用情况。本文将介绍五种JVM监控工具:jstack、jconsole、jinfo、jmap和jdb。 jstack jstack是一款命令行...

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解 本文将对一些常用的 JVM 性能调优监控工具进行介绍,包括 jps、jstack、jmap、jhat、jstat 等工具的使用详解。这些工具对于 Java 程序员来说是必备的,...

    输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程

    为了获取这些信息,我们可以使用jstack工具,它是Java开发工具包(JDK)的一部分,能够输出Java进程的线程堆栈跟踪信息。 jstack命令通常可以输出以下类型的信息: 1. 线程的完整堆栈跟踪,包括本地方法。 2. 显示...

    JStack和Java Thread Dumps分析

    本文将详细介绍`JStack`的使用方法及其在分析Java线程堆栈中的应用。 #### 二、JStack简介 `JStack`是Java Development Kit (JDK)的一部分,用于生成正在运行的Java应用程序的线程快照。这些快照提供了关于每个...

    JumpPointSearch-master_JumpPointSearch_JPS挑点搜索算法路径规划_

    4. **剪枝策略**:JPS使用了一些剪枝策略,例如,如果一条路径的代价已经超过了已知的最短路径,那么就可以立即停止对该路径的探索,进一步减少了计算量。 在"JumpPointSearch-master"这个项目中,作者实现了一个...

    GPS.rar_jps_space

    This code is used to calculate the relationship modeling in space communications (JPS)

    Java线程检测和数据收集工具

    本文将深入探讨如何使用Java提供的工具——`jps`和`jstack`,以及如何通过Shell脚本来定时收集Java进程的线程信息。 首先,`jps`(JVM Process Status)是Java虚拟机进程状况工具,它能够列出正在运行的Java进程ID...

    java小工具

    【标题】:“Java小工具”通常指的是用于辅助Java开发或者处理Java相关问题的一系列小巧而实用的程序。这些工具可能包括代码分析、反编译、性能监控等方面,可以帮助开发者更高效地工作。 【描述】:根据提供的博文...

    Java内存泄露_JVM监控工具介绍

    此外,jstack工具还可以附属到正在运行的Java程序中,看到当前运行的Java程序的Java栈和native栈的信息,如果现在运行的Java程序呈现hung的状态,jstack是非常有用的。 二、jconsole命令 jconsole是一个基于Java ...

    jps1.1.2(java petstore)+J2EE_Petstore详解

    在"jps1.1.2(java petstore)"中,我们主要会遇到以下的知识点: 1. **J2EE架构**:J2EE是Java企业版的早期版本,它包含了一系列的API和服务,如Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java Message ...

    JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat.doc

    `jconsole` 是基于Java Management Extensions (JMX) 的实时图形化监控工具,它能够展示JVM的实时性能数据和资源使用情况。通过`jconsole`,用户可以监控Java应用的内存使用、Heap大小、线程状态、类加载状态等信息...

    使用java自带工具监控jvm运行状态

    `jps`命令是Java的一个实用工具,类似于Linux的`ps`命令,用于查看当前系统中运行的Java进程。它会显示进程ID以及对应的主类名称。例如,`jps`会显示所有由Java虚拟机启动的进程。 2. **jinfo(Java Configuration...

    使用jstack定位分析CPU消耗问题.docx

    使用 jstack 工具可以帮助我们快速定位 CPU 消耗问题的根源。本文将详细介绍使用 jstack 工具定位分析 CPU 消耗问题的步骤和方法。 问题现象描述 在本例中,个人银行用户开户调用短信验证接口时,当大于 20 用户...

    亲测可用java-1.8.0-openjdk.linux.x86_64.zip

    总之,OpenJDK 1.8.0在Linux x86_64上的部署和使用为开发者提供了强大且可靠的Java开发环境,而JPS命令则作为管理和监控Java进程的有力工具,帮助开发者更好地管理和调试应用程序。确保正确安装和配置OpenJDK,将极...

    java诊断与调优常用命令jmap、jstack、jstat使用实战.pdf

    本文主要介绍了四个Java命令行工具:jps、jmap、jstack和jstat,它们是Java性能分析和故障排查的基础。 1. **jps (Java Process Status)**: 用于查看运行在本地机器上的Java进程ID,这对于其他命令来说是必需的输入...

    java—JDK内置工具使用技巧详解

    - **功能**:jstack 是一个用于打印 Java 进程或核心转储文件中的线程堆栈信息的工具。它能够帮助开发者识别 Java 应用程序中的死锁问题。 - **使用场景**:当遇到应用程序响应缓慢或挂起时,可以使用 jstack 来检查...

    tomcat解决JPS不可用的问题

    JPS(Java Process Status Tool)是 Java 虚拟机的进程状态工具,用于显示当前 Java 进程的信息。然而,在某些情况下,JPS 命令可能不可用,导致无法查看 Java 进程的信息。 导致 JPS 不可用的原因可能是因为环境...

    jps_stat:Bash脚本,监视当前linux系统上运行的所有Java程序的current_heap_memory,max_heap_till_now,current_ram,max_ram_used,current_cpu_by_jvm详细信息

    `jps_stat` 是一个基于Bash脚本的工具,专为Linux系统设计,用于实时监控当前系统上所有运行的Java程序的内存和CPU使用情况。它结合了`jps`(Java进程状态)和`jstat`(Java统计监测工具)命令的功能,提供了更详细...

    java-1.8.0_121.tar.gz

    5. **jps**: jps(Java Virtual Machine Process Status Tool)是另一个实用工具,用于列出当前系统中正在运行的Java进程ID。这对于监视和管理Java应用程序的生命周期很有帮助。 6. **jcmd**: jcmd是Java诊断命令...

    JDK自带调试工具doc

    以上工具的使用通常需要与相应的帮助文档配合,如`java.chm`可能包含了JDK的综合帮助文档,而`jstat - Java Virtual Machine Statistics Monitoring Tool.htm`、`jps - Java Virtual Machine Process Status Tool....

Global site tag (gtag.js) - Google Analytics