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. C#試圖枚舉每個進程線程的每個窗口
- 3. 每個進程的最大線程數 - 的sysconf失敗
- 4. windows中每個進程/線程的最大互斥量數
- 5. Erlang - 將每個「erlang進程」映射到新的內核線程
- 6. 如何在每個塊的線程數多於每個線程的線程上執行並行掃描?
- 7. setenv每個進程?
- 8. 多線程和分配數組到c中的每個線程#
- 9. Akka.io:每個演員的線程數
- 10. Spark中每個核心的線程數
- 11. 每個線程一個SQLiteConnection?
- 12. 每個線程或每個進程是FPU控制字設置嗎?
- 13. Android線程ID是全球每個進程?
- 14. iis7增加每個工作進程的線程/併發請求數
- 15. 如何使用MFC計算Windows中每個進程中的線程數
- 16. 每個JVM或每個CPU核心的線程數
- 17. Python中的線程 - 線程或進程?
- 18. 爲什麼有兩個線程的8個進程每個創建的負載都比一個具有16個線程的進程多?
- 19. 在HPUX上的遠程調試
- 20. C#線程 - 一個線程數組,其中每個線程包含一個帶有圖像的表單
- 21. 運行一批進程並報告每個進程的進度
- 22. 確定每個程序的MPMD中的進程數
- 23. 線程和進程?
- 24. 進程與線程
- 25. 線程或進程
- 26. 線程和進程
- 27. 消息在多個進程之間傳遞,每個進程中有多個線程c
- 28. Java,多個線程,每次只執行一個線程
- 29. 每個線程或線程安全DAO有一個DAO?
- 30. 進程內的線程
你能不能請一個解釋呢? – 2011-11-08 14:19:28