0
A
回答
1
您可以使用pstack顯示屬於特定進程的線程的堆棧跟蹤。它也會給你LWPID(線程ID)。例如:
$ whereis pstack
pstack: /usr/ccs/bin/pstack /usr/share/man/man1.Z/pstack.1
$ ps -ef|grep snmpAgt|grep -v grep
utest 27447 1 0 Aug 26 ? 1544:45 /opt/java6/bin/IA64N/java -DsnmpAgtCfg=./etc/snmpAgt.cfg -Duser.timezone=GMT+8 com.hp.snmpagt.main.SnmpAgtMain
$ pstack 27447|head -30
27447: /opt/java6/bin/IA64N/java
-------------------------------- lwpid : 5549697 -------------------------------
0: 60000000c0380670 : _nanosleep_sys() + 0x30 (/usr/lib/hpux32/libc.so.1)
1: 60000000c038f360 : nanosleep() + 0xa0 (/usr/lib/hpux32/libc.so.1)
2: 60000000c89c4ac0 : _Z8os_sleepxb() + 0xa90 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
3: 60000000c89d5140 : _ZN2os5sleepEP6Threadxb() + 0x200 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
4: 60000000c83b51a0 : JVM_Sleep() + 0x340 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
5: 2000000073400ed0 : (unknown)() (unknown)
-------------------------------- lwpid : 5549698 -------------------------------
0: 60000000c0379e50 : __ksleep() + 0x30 (/usr/lib/hpux32/libc.so.1)
1: 60000000c013aa10 : __mxn_sleep() + 0xaf0 (/usr/lib/hpux32/libpthread.so.1)
2: 60000000c00d1f50 : pthread_cond_wait() + 0xdd0 (/usr/lib/hpux32/libpthread.so.1)
3: 60000000c00d1210 : pthread_cond_wait() + 0x90 (/usr/lib/hpux32/libpthread.so.1)
4: 60000000c89c1880 : _Z13thread_helperPv() + 0x3b0 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
5: 60000000c00e2060 : __pthread_bound_body() + 0x170 (/usr/lib/hpux32/libpthread.so.1)
-------------------------------- lwpid : 5549699 -------------------------------
0: 60000000c0379e50 : __ksleep() + 0x30 (/usr/lib/hpux32/libc.so.1)
1: 60000000c013aa10 : __mxn_sleep() + 0xaf0 (/usr/lib/hpux32/libpthread.so.1)
2: 60000000c00d1f50 : pthread_cond_wait() + 0xdd0 (/usr/lib/hpux32/libpthread.so.1)
3: 60000000c00d1210 : pthread_cond_wait() + 0x90 (/usr/lib/hpux32/libpthread.so.1)
4: 60000000c89e2bb0 : _ZN2os13PlatformEvent4parkEv() + 0x330 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
5: 60000000c8947df0 : _ZN7Monitor5IWaitEP6Threadx() + 0x1a0 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
6: 60000000c8948c30 : _ZN7Monitor4waitEblb() + 0x2b0 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
7: 60000000c80ab6c0 : _ZN13GCTaskManager8get_taskEj() + 0xa0 (/opt/java6/jre/lib/IA64N/server/libjvm.so)
0
使用一目瞭然
- %一目瞭然
- SlctProc(F6)
- 輸入PID(14065):
- ģ
... Thread List PID: 14389, xxxxx PPID: 14241 euid: 112 User: xxxxxxx CPU Util CPU Tm Phys Logl Block TID (600x% max) Cum IO Rate IO Rate Scheduler Pri On -------------------------------------------------------------------------------- 7744076 0.0/ 0.0 21.1 0.0/ 0.0 0.0/ 0.0 HPUX 168 SLEEP 7745285 0.0/ 0.0 0.0 0.0/ 0.0 0.0/ 0.0 HPUX 152 SOCKT 7745286 0.0/ 0.0 0.0 0.0/ 0.0 0.0/ 0.0 HPUX 154 SOCKT 7745287 1.5/ 1.7 12092.2 0.0/ 0.0 0.5/ 1.4 HPUX 154 SLEEP 7745288 0.0/ 0.0 46.7 0.0/ 0.0 0.0/ 0.0 HPUX 154 SLEEP 7745290 0.0/ 0.0 578.4 0.0/ 0.0 2.3/ 0.0 HPUX 168 SLEEP 6471709 0.0/ 0.0 0.0 0.0/ 0.0 0.0/ 0.0 HPUX 152 JOBCL
相關問題
- 1. 每個線程的每個進程的時間量
- 2. 每個字符的線程數和每個線程的線程設計
- 3. C#試圖枚舉每個進程線程的每個窗口
- 4. 每個進程的最大線程數 - 的sysconf失敗
- 5. 每每個線程
- 6. windows中每個進程/線程的最大互斥量數
- 7. 爲每個mpi進程分配不同數量的openmp線程
- 8. C99 fesetround()/ fegetround()狀態是每個線程還是每個進程?
- 9. 每個線程的看點和線程
- 10. 線程同步 - 一個進程的最大線程數
- 11. 多線程 - 線程每個核心
- 12. Erlang - 將每個「erlang進程」映射到新的內核線程
- 13. 線程,QThread,每個進程有多少是「合理的」?
- 14. setenv每個進程?
- 15. 如何在每個塊的線程數多於每個線程的線程上執行並行掃描?
- 16. 多線程和分配數組到c中的每個線程#
- 17. Akka.io:每個演員的線程數
- 18. 每個線程的寄存器數量
- 19. Spark中每個核心的線程數
- 20. 每個進程或每臺計算機的線程ID是唯一的嗎?
- 21. 每個線程一個SQLiteConnection?
- 22. 每個線程或每個進程是FPU控制字設置嗎?
- 23. NodeJS - 是libuv線程池全局還是每個進程?
- 24. Android線程ID是全球每個進程?
- 25. ASP.NET Webmethod - 每個調用進程在同一線程中
- 26. iis7增加每個工作進程的線程/併發請求數
- 27. 如何使用MFC計算Windows中每個進程中的線程數
- 28. 如何爲每個MPICH進程設置不同數量的MKL線程
- 29. 爲什麼SIGALRM不能在HPUX的線程中發生?
- 30. Python中的線程 - 線程或進程?
你能不能請一個解釋呢? – 2011-11-08 14:19:28