2006/12/19

[Linux] SystemTap 使用重點提要

主要參考來源是這裡,內容簡單摘要如下:


SystemTap 是一種新穎的 Linux 內核診斷工具,提供了一種從運行中的 Linux 內核快速和安全地獲取資訊的能力。SystemTap 是內核開發人員和系統管理員的福音,因為這使得他們可以通過編寫或者重用簡單的腳本來收集內核的實時數據,而不需要再忍受修改源碼、編譯內核、重啟系統的漫長煎熬。本文介紹了 SystemTap 的安裝、使用和基本原理,並用一些有趣的例子揭示了 SystemTap 提供的強大能力。


下面這個簡單的例子可以列印出在過去的5秒鐘裏調用次數最多的那些 syscall。

#!/usr/bin/env stap
#
# display the top 10 syscalls called in last 5 seconds
#
global syscalls
function print_top () {
cnt=0
log ("SYSCALL\t\t\t\tCOUNT")
foreach ([name] in syscalls-) {
printf("%-20s\t\t%5d\n",name, syscalls[name])
if (cnt++ == 10)
break
}
printf("--------------------------------------\n")
delete syscalls
}
probe syscall.* {
syscalls[probefunc()]++
}
probe timer.ms(5000) {
print_top ()
}


或著是另外一個例子:
看看是誰在偷偷動我的文件

有時候,我們如果中了惡意的病毒軟體,會發現某些文件莫名其妙的被修改,下面這個例子可以幫你監視誰在修改你的文件。

#!/usr/bin/env stap
#
# monitor who is messing my file of secrets
#
probe generic.fop.open {
if(filename == "secrets")
printf("%s is opening my file: %s\n", execname(), filename)
}

沒有留言:

[Windows] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...