2009-09-15 43 views
1

我基本上有一个UNIX进程在运行,它是做一些繁重的处理,以及通过网络输出数据。我想知道用什么系统调用来与网络层进行交互。性能工具

我想衡量这一过程的性能指标:CPU使用率,网络使用率。我不确定这个过程是否被阻塞,因为它写入网络层的速度太快,或者如果这个过程花费了太多的时间处理代码。

有什么建议吗?

谢谢!

+0

你的问题将在http://serverfault.com上更好地服务。 – Randolpho

+0

你正在调试你自己的一些代码吗?如果是这样,更多的细节将是有用的。否则,serverfault.com真的是你想要的地方。 –

回答

0

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

尝试http://oprofile.sourceforge.net/,或为你的工具链的特定分析器。

作为一个快速的测量,你可以尝试运行strace下你的进程,看看哪些系统调用它使,看现场,他们需要多长时间。

1

什么是Unix? Solaris/FreeBSD/OSX有dtrace,Linux有oprofile。他们都有tcpdump供你分析网络流量。

+0

对,我不知道为什么我认为他使用Linux并且拥有代码。 –

0

我建议的valgrind这是另一种分析器。