我基本上有一個UNIX進程在運行,它是做一些繁重的處理,以及通過網絡輸出數據。我想知道用什麼系統調用來與網絡層進行交互。性能工具
我想衡量這一過程的性能指標:CPU使用率,網絡使用率。我不確定這個過程是否被阻塞,因爲它寫入網絡層的速度太快,或者如果這個過程花費了太多的時間處理代碼。
有什麼建議嗎?
謝謝!
我基本上有一個UNIX進程在運行,它是做一些繁重的處理,以及通過網絡輸出數據。我想知道用什麼系統調用來與網絡層進行交互。性能工具
我想衡量這一過程的性能指標:CPU使用率,網絡使用率。我不確定這個過程是否被阻塞,因爲它寫入網絡層的速度太快,或者如果這個過程花費了太多的時間處理代碼。
有什麼建議嗎?
謝謝!
你真正需要的是一個分析器。這樣,您就可以看到代碼的哪些部分花費了大部分時間。
嘗試http://oprofile.sourceforge.net/,或爲你的工具鏈的特定分析器。
作爲一個快速的測量,你可以嘗試運行strace下你的進程,看看哪些系統調用它使,看現場,他們需要多長時間。
什麼是Unix? Solaris/FreeBSD/OSX有dtrace,Linux有oprofile。他們都有tcpdump供你分析網絡流量。
對,我不知道爲什麼我認爲他使用Linux並且擁有代碼。 –
我建議的valgrind這是另一種分析器。
你的問題將在http://serverfault.com上更好地服務。 – Randolpho
你正在調試你自己的一些代碼嗎?如果是這樣,更多的細節將是有用的。否則,serverfault.com真的是你想要的地方。 –