- SO Long, 7 Habits, and Fiddler on the Roof
- ZFSCopy - 複製 ZFS 檔案系統的殼層腳本 (Shell Script to Copy ZFS File Systems)
- 在 Solaris 或 OpenSolaris 上找到有開啟連接埠的處理程序
- 不能沒有你-「專業的系統維護工程師」就是要用「專業的筆記型電腦-大陽能筆記型電腦」
- 在 OpenSolaris 上使用 USB 對 RS-232 轉接線
- 虛擬的宇宙:在 OpenSolaris + VirtualBox 上執行 Oracle VM + Oracle Enterprise Linux
- 網路即電腦,電腦即網路-雲端運算與虛擬化
- 我的『開心農場』-『太陽能開心農場』
- 有備無患-備份 MBR 及磁碟分割表(Partition Table)
- 去掉重複,再賺 10% 的硬碟空間-ZFS 之 Deduplication
2008-09-17 01:23 免費的私家偵探-跟著 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
參考資料:
平均分數:0 顆星 投票人數:0 人
我要評分:
我要評分:
回應

