查看java进程

ps -ef | grep java
ps -ef | grep java -c 统计java 的进程数

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class TestPS_EF {

public static void main(String[] args) {
String i = args[0];

int j = Integer.valueOf(i);

ExecutorService s = Executors.newFixedThreadPool(j);

for(int k=0;k<j;k++){
s.execute(new Runnable(){

@Override
public void run() {
System.out.println(Thread.currentThread().getName()+" start");
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName()+" end");

}

});
}

s.shutdown();

}

}


运行上述代码, 再执行ps -ef | grep java -c , 进程总数加一。


ehanmqi  45556 45519  1  2015 pts/17   05:51:48 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java -Xms128m -Xmx1024m -Dsoapui.properties=soapui.properties -Dsoapui.home=/root/PGCATemp/SoapUI-5.0.0/bin -splash:soapui-splash.png -Dsoapui.ext.libraries=/root/PGCATemp/SoapUI-5.0.0/bin/ext -Dsoapui.ext.listeners=/root/PGCATemp/SoapUI-5.0.0/bin/listeners -Dsoapui.ext.actions=/root/PGCATemp/SoapUI-5.0.0/bin/actions -Djava.library.path=/root/PGCATemp/SoapUI-5.0.0/bin -Dwsi.dir=/root/PGCATemp/SoapUI-5.0.0/wsi-test-tools -cp /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/jfxrt.jar:/root/PGCATemp/SoapUI-5.0.0/bin/soapui-5.0.0.jar:/root/PGCATemp/SoapUI-5.0.0/lib/* com.eviware.soapui.SoapUI
[root@dallas02 ~]# ps 45519
  PID TTY      STAT   TIME COMMAND
45519 pts/17   S+     0:00 /bin/sh ./soapui_1.sh
[root@dallas02 ~]# ps 45556
  PID TTY      STAT   TIME COMMAND
45556 pts/17   Sl+  351:50 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java -Xms128m -Xmx1024m -Dsoapui.properties=soapui.properties -Dsoapui.home=/root/PGCATemp
[root@dallas02 ~]#


要让top输出某个特定进程<pid>并检查该进程内运行的线程状况:
$ top -H -p <pid>


root     15152 12835  1 12:26 pts/129  00:00:00 /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/java TestPS_EF2 10
[root@dallas02 ~]# /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/bin/jstack 15152
2016-01-15 12:26:33
Full thread dump OpenJDK 64-Bit Server VM (23.2-b09 mixed mode):

"Attach Listener" daemon prio=10 tid=0x00007f17f4001000 nid=0x3b9c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"DestroyJavaVM" prio=10 tid=0x00007f1898008000 nid=0x3b31 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Thread-9" prio=10 tid=0x00007f189817c000 nid=0x3b71 waiting on condition [0x00007f18428e7000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-8" prio=10 tid=0x00007f189817a000 nid=0x3b70 waiting on condition [0x00007f18429e8000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-7" prio=10 tid=0x00007f1898178000 nid=0x3b6f waiting on condition [0x00007f1842ae9000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-6" prio=10 tid=0x00007f1898176000 nid=0x3b6d waiting on condition [0x00007f1842bea000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-5" prio=10 tid=0x00007f1898174000 nid=0x3b6b waiting on condition [0x00007f1842ceb000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-4" prio=10 tid=0x00007f1898172000 nid=0x3b69 waiting on condition [0x00007f1842dec000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-3" prio=10 tid=0x00007f1898170000 nid=0x3b68 waiting on condition [0x00007f1842eed000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-2" prio=10 tid=0x00007f189816d800 nid=0x3b64 waiting on condition [0x00007f1842fee000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-1" prio=10 tid=0x00007f189816b800 nid=0x3b63 waiting on condition [0x00007f18430ef000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Thread-0" prio=10 tid=0x00007f189816a000 nid=0x3b62 waiting on condition [0x00007f18431f0000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at TestPS_EF2$1.run(TestPS_EF2.java:14)
        at java.lang.Thread.run(Thread.java:722)

"Service Thread" daemon prio=10 tid=0x00007f1898135800 nid=0x3b59 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

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

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

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

"Finalizer" daemon prio=10 tid=0x00007f18980d8800 nid=0x3b54 in Object.wait() [0x00007f18437f6000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000006b0ab5728> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
        - locked <0x00000006b0ab5728> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x00007f18980d6000 nid=0x3b53 in Object.wait() [0x00007f18438f7000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000006b0ab52b0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:503)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x00000006b0ab52b0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x00007f18980cd800 nid=0x3b52 runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f1898015800 nid=0x3b32 runnable

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

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

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

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

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

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

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

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

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

"GC task thread#10 (ParallelGC)" prio=10 tid=0x00007f1898028000 nid=0x3b45 runnable

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

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

"GC task thread#13 (ParallelGC)" prio=10 tid=0x00007f189802d800 nid=0x3b48 runnable

"GC task thread#14 (ParallelGC)" prio=10 tid=0x00007f189802f800 nid=0x3b49 runnable

"GC task thread#15 (ParallelGC)" prio=10 tid=0x00007f1898031800 nid=0x3b4a runnable

"GC task thread#16 (ParallelGC)" prio=10 tid=0x00007f1898033000 nid=0x3b4b runnable

"GC task thread#17 (ParallelGC)" prio=10 tid=0x00007f1898035000 nid=0x3b4c runnable

"GC task thread#18 (ParallelGC)" prio=10 tid=0x00007f1898037000 nid=0x3b4d runnable

"GC task thread#19 (ParallelGC)" prio=10 tid=0x00007f1898038800 nid=0x3b4e runnable

"GC task thread#20 (ParallelGC)" prio=10 tid=0x00007f189803a800 nid=0x3b4f runnable

"GC task thread#21 (ParallelGC)" prio=10 tid=0x00007f189803c800 nid=0x3b50 runnable

"GC task thread#22 (ParallelGC)" prio=10 tid=0x00007f189803e000 nid=0x3b51 runnable

"VM Periodic Task Thread" prio=10 tid=0x00007f1898140000 nid=0x3b5f waiting on condition

JNI global references: 109

[root@dallas02 ~]#

猜你喜欢

转载自frankytony.iteye.com/blog/2271340