作用:列举出执行的进程信息。 [root@localhost ~]# jps -q 34744 40321 [root@localhost ~]# jps -m 34744 Bootstrap start 40341 Jps -m [root@localhost ~]# jps -l 40361 sun.tools.jps.Jps 34744 org.apache.catalina.startup.Bootstrap [root@localhost ~]# jps -v 34744 Bootstrap -Djava.util.logging.config.file=/opt/web/mobile.x.x.x/8102/conf/logging.properties -Xms6000M -Xmx6000M -Xmn2000M -XX:PermSize=500M -XX:MaxPermSize=500M -XX:+AggressiveOpts -XX:+UseAdaptiveSizePolicy -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:ParallelGCThreads=12 -XX:ParallelGCThreads=12 -Dsun.rmi.transport.connectionTimeout=1000 -Dsun.rmi.transport.tcp.responseTimeout=5000 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8849 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.251.17 -Djava.endorsed.dirs=/opt/web/mobile.x.x.x/8102/endorsed -Dcatalina.base=/opt/web/mobile.x.x.x/8102 -Dcatalina.home=/opt/web/mobile.x.x.x/8102 -Djava.io.tmpdir=/opt/web/mobile.x.x.x/8102/temp 40386 Jps -Denv.class.path=.:/usr/java/jdk1.6/lib/tools.jar -Dapplication.home=/usr/java/jdk1.6 -Xms8m 2 jstat 【一段时间以内的统计信息】 主要是统计信息 [root@localhost 8102]# jstat -class 40479 Loaded Bytes Unloaded Bytes Time 2514 5280.2 0 0.0 1.14 [root@localhost 8102]# jstat -gc 40479 S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT 204800.0 204800.0 0.0 0.0 1638400.0 1048649.3 4096000.0 0.0 512000.0 20272.0 0 0.000 0 0.000 0.000 [root@localhost 8102]# jstat -gccapacity 40479 NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC 2048000.0 2048000.0 2048000.0 204800.0 204800.0 1638400.0 4096000.0 4096000.0 4096000.0 4096000.0 512000.0 512000.0 512000.0 512000.0 0 0 [root@localhost 8102]# jstat -gcutil 40479 S0 S1 E O P YGC YGCT FGC FGCT GCT 0.00 0.00 64.00 0.00 3.96 0 0.000 0 0.000 0.000 [root@localhost 8102]# jstat -gccause 40479 S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC 0.00 0.00 64.00 0.00 3.96 0 0.000 0 0.000 0.000 No GC No GC [root@localhost 8102]# jstat -gcnew 40479 S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT 204800.0 204800.0 0.0 0.0 15 15 0.0 1638400.0 1048649.3 0 0.000 [root@localhost 8102]# jstat -gcold 40479 PC PU OC OU YGC FGC FGCT GCT 512000.0 20280.9 4096000.0 0.0 0 0 0.000 0.000 [root@localhost 8102]# jstat -gcnewcapacity 40479 NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC 2048000.0 2048000.0 2048000.0 204800.0 204800.0 204800.0 204800.0 1638400.0 1638400.0 0 03. jinfo [配置信息] 查询进程的配置信息,可以动态调整 [root@localhost 8102]# jinfo -flag CMSInitiatingOccupancyFraction 40479 -XX:CMSInitiatingOccupancyFraction=-1 4 jmap 【某个时间点的内存映像】 [root@localhost 8102]# jmap -heap 40479 Attaching to process ID 40479, please wait... Debugger attached successfully. Server compiler detected. JVM version is 20.1-b02 using parallel threads in the new generation. using thread-local object allocation. Mark Sweep Compact GC Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 6291456000 (6000.0MB) NewSize = 2097152000 (2000.0MB) MaxNewSize = 2097152000 (2000.0MB) OldSize = 5439488 (5.1875MB) NewRatio = 2 SurvivorRatio = 8 PermSize = 524288000 (500.0MB) MaxPermSize = 524288000 (500.0MB) Heap Usage: New Generation (Eden + 1 Survivor Space): capacity = 1887436800 (1800.0MB) used = 1208046816 (1152.0832214355469MB) free = 679389984 (647.9167785644531MB) 64.00462341308594% used Eden Space: capacity = 1677721600 (1600.0MB) used = 1208046816 (1152.0832214355469MB) free = 469674784 (447.9167785644531MB) 72.00520133972168% used From Space: capacity = 209715200 (200.0MB) used = 0 (0.0MB) free = 209715200 (200.0MB) 0.0% used To Space: capacity = 209715200 (200.0MB) used = 0 (0.0MB) free = 209715200 (200.0MB) 0.0% used tenured generation: capacity = 4194304000 (4000.0MB) used = 0 (0.0MB) free = 4194304000 (4000.0MB) 0.0% used Perm Generation: capacity = 524288000 (500.0MB) used = 20789552 (19.826461791992188MB) free = 503498448 (480.1735382080078MB) 3.9652923583984374% used [root@localhost 8102]# 5 jhat 【与jmap合作】 --- 6 jstack [查看某时刻的运行栈] "catalina-exec-4" daemon prio=10 tid=0x00007f8f9800e000 nid=0xa059 waiting on condition [0x00007f8f73dfc000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006e6c06020> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104) at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None "catalina-exec-3" daemon prio=10 tid=0x00007f8f9800a800 nid=0xa058 waiting on condition [0x00007f8f73efd000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006e6c06020> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:104) at org.apache.tomcat.util.threads.TaskQueue.take(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None JConsole 可以理解为上面所有命令的可视化工具 转载请保留固定链接: https://linuxeye.com/Linux/2318.html |