200809170123免費的私家偵探-跟著 DTrace 探索 Process

Solaris 10 上的 DTrace 功能提供了其他作業系統尚未能提供的透明度。一直沒有機會介紹 DTrace,今天利用一個實例來示範並介紹 DTrace。

問題:


在 Solaris 10 上想知道不知名的程式到底在做什麼?
        

線索:


noaccess   674     1   0 01:04:27 ?           0:32 /usr/java/bin/java -server -Xmx -XX:+BackgroundCompilation -XX:PermSize=
        

準備:

先行安裝 DTraceToolkit,假設是安裝在 /opt/DTraceToolkit-0.99 (參考資料附有下載網址)

探索:

開啟一個視窗執行:


root@N-Wing:/ # ps -ef | grep java
noaccess   674     1   0 01:04:27 ?           0:32 /usr/java/bin/java -server -Xmx -XX:+BackgroundCompilation -XX:PermSize=
        

找到 PID 是 674

檢視它目前開啟的檔案:


root@N-Wing:/ # pfiles 674
674:    /usr/java/bin/java -server -Xmx -XX:+BackgroundCompilation -XX:Per
  Current rlimit: 65536 file descriptors
...
   7: S_IFSOCK mode:0666 dev:280,0 ino:33294 uid:0 gid:0 size:0
      O_RDWR
        SOCK_STREAM
        SO_REUSEADDR,SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.192.0.0)
        sockname: AF_INET 127.0.0.1  port: 6788
...
  10: S_IFSOCK mode:0666 dev:280,0 ino:33292 uid:0 gid:0 size:0
      O_RDWR
        SOCK_STREAM
        SO_REUSEADDR,SO_SNDBUF(49152),SO_RCVBUF(49152),IP_NEXTHOP(0.192.0.0)
        sockname: AF_INET 127.0.0.1  port: 6789
...
        

如果要取得處理程序的參數及環境變數的話:


root@N-Wing:/ # pargs -ae 674 | more
...
        

確認 TCP 的狀態:


root@N-Wing:/ # netstat -an | egrep '(6788|6789)'
127.0.0.1.6788             *.*                0      0 49152      0 LISTEN
127.0.0.1.6789             *.*                0      0 49152      0 LISTEN
        

開啟一個視窗執行 dtruss:


root@N-Wing:/ # /opt/DTraceToolkit-0.99/dtruss -p 674
...
resolvepath("/var/webconsole/domains/console/work/com_sun_web_console/localhost/console/com/sun/web/console\0", 0xB8ED8DA8, 0x400)
...
        

在另外的視窗執行 opensnoop:


root@N-Wing:/ # /opt/DTraceToolkit-0.99/opensnoop -p 674
...
60002    674 java          20 /var/webconsole/domains/console/work/com_sun_web_console/localhost/console/loader/com/sun/web/console/resources/RoleResources_zh_TW.properties
...
        

在另外的視窗執行 connections:


root@N-Wing:/ # /opt/DTraceToolkit-0.99/Bin/connections
  UID   PID CMD          TYPE  PORT IP_SOURCE
...
60002   674 java          tcp 65535 .0
...
        

使用本機的瀏灠器連該主機的 6789 連接埠:


https://localhost:6789
        

答案:


原來是 Java Web Console
        

參考資料:

  1. OpenSolaris.org > DTraceToolkit
  2. SolarisInternals.com > Processes
  3. SolarisInternals.com > DTrace Topics
  4. developers.sun.com > Solaris Performance and Tools > Book Excerpt: Chapter 3, Processes (PDF)
回應
恆易
☯簡易、☯變易、☯不易
想了解太陽能是什麼?
請點選:版序
點助日誌
關鍵字
累積 | 今日
loading......
    沒有新回應!
有朋自遠方來
Locations of visitors to this page