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 ~]#
查看java进程
猜你喜欢
转载自frankytony.iteye.com/blog/2271340
今日推荐
周排行