首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

如何用truss监控进程

2012-08-13 
怎么用truss监控进程?? 最近因为一个程序bug需要用truss监控进程的系统调用情况。一点心得,记录在此。??? 原

怎么用truss监控进程

?? 最近因为一个程序bug需要用truss监控进程的系统调用情况。一点心得,记录在此。

?

?? 原因是一个C++程序,在调用system()方法时,有时会变得很慢,所以用truss监控一下哪里出了问题。

?

?? 首先是参数,-D 可以显示每条系统调用的时间花费,-d 可以显示时间戳,最重要的是-f , 因为是通过system()方法调用系统方法,会fork新的进程,所以要用-f 监控子进程的状况。

?

?? 还有一点就是,我的进程在SUN Cluster 监控之下,所以要先释放出来

??? 尝试清空内容的话,你会发现文件大小没有变化,用vi打开,内容的确没了,但是你会发现vi显示有很多的 null character,用less命令打开就会发现很多的^@。我曾经尝试过很多方法,都没办法真正的rotate原始的truss.out。

?

??? 解决办法也很简单,那就是不要用-o 选项去指定输出文件,而是用重定向(redirect),但是你如果直接用

time truss -dDeal -t '!lwp_park' -f $command >> truss.out 2>&1 &
?

?

?? 这样可以记录整个命令的执行时间。

?

热点排行