2009-09-15 79 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這是另一種分析器。