cletus Asked: 2009-05-01 19:14:57 +0800 CST2009-05-01 19:14:57 +0800 CST 2009-05-01 19:14:57 +0800 CST Dtrace 提示和技巧 772 您使用 Dtrace 看到或完成了哪些很棒的提示和技巧? sun 3 个回答 Voted Vagnerr 2009-05-02T00:15:17+08:002009-05-02T00:15:17+08:00 我曾经用它来检测实时服务器应用程序中的内存泄漏。我为所有 malloc 和 free 调用设置了探针。malloc 探针被设置为报告函数的返回值,而 free 被设置为报告第一个参数(它给了我每个参数的内存地址)。在允许探针运行一段时间后,我编写了一点 perl 来查找任何没有空闲的 malloc 内存地址,并报告程序函数和 malloc 调用的偏移量。整个过程大约需要 20-30 分钟才能找到一个严重的记忆韭菜。 替代方案是像 Purify 这样的商业软件包。但这并不总是一种选择,尤其是在实时系统上。 Trausti Thor 2009-07-09T13:42:16+08:002009-07-09T13:42:16+08:00 我看到一个 SUN 的家伙跟踪 NFS 共享的利用率到用户,使用了哪个文件以及围绕此的各种统计信息。 OpenSolaris 10 很棒 anon 2009-10-21T20:53:28+08:002009-10-21T20:53:28+08:00 看看其中一些脚本。 http://www.prefetch.net/articles/solaris.dtracetopten.html
我曾经用它来检测实时服务器应用程序中的内存泄漏。我为所有 malloc 和 free 调用设置了探针。malloc 探针被设置为报告函数的返回值,而 free 被设置为报告第一个参数(它给了我每个参数的内存地址)。在允许探针运行一段时间后,我编写了一点 perl 来查找任何没有空闲的 malloc 内存地址,并报告程序函数和 malloc 调用的偏移量。整个过程大约需要 20-30 分钟才能找到一个严重的记忆韭菜。
替代方案是像 Purify 这样的商业软件包。但这并不总是一种选择,尤其是在实时系统上。
我看到一个 SUN 的家伙跟踪 NFS 共享的利用率到用户,使用了哪个文件以及围绕此的各种统计信息。
OpenSolaris 10 很棒
看看其中一些脚本。
http://www.prefetch.net/articles/solaris.dtracetopten.html