表演工具

时间:2009-09-15 18:40:58

标签: performance unix networking

我基本上运行了一个unix进程,它正在进行一些繁重的处理以及通过网络输出数据。我想知道什么系统调用用于与网络层交互。

我想衡量此过程的性能指标:CPU使用率,网络使用情况。我不确定这个过程是否被阻止,因为它对网络层写得太快,或者这个过程花费了太多时间来处理代码。

有什么建议吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

什么是Unix? Solaris / FreeBSD / OSX有dtrace,Linux有oprofile。所有这些都有tcpdump供您分析网络流量。

答案 1 :(得分:0)

你真正需要的是一个分析器。这样,您就可以看到代码的哪些部分花费的时间最多。

尝试http://oprofile.sourceforge.net/或您工具链的特定探查器。

作为一种快速衡量标准,您可以尝试在strace下运行您的流程,以查看它所制作的系统调用,并查看它们需要多长时间。

答案 2 :(得分:0)

我建议valgrind是另一个探查者。