查找CPU利用率和CPU周期

时间:2015-03-26 03:14:50

标签: c++ linux ubuntu cpu-usage profiler

我的程序是用C ++编写的,我有一台服务器正在监听许多客户端。客户端将小数据包发送到服务器。我在Ubuntu上运行我的代码。

我想测量两侧的CPU利用率和可能的CPU周期总数,理想情况是在网络上花费的周期/利用率(从NIC到用户空间,反之亦然),内核空间,用户空间,上下文切换等。

我做了一些搜索,但我无法弄清楚它是应该在我的C ++代码中完成还是应该使用外部分析器,或者可能采用其他方式。

3 个答案:

答案 0 :(得分:1)

在这种情况下,你最好的朋友/助手是Linux中的/proc文件系统。在/proc中,您将找到CPU使用率,内存使用情况,电源使用情况等。请查看此链接

http://www.linuxhowtos.org/System/procstat.htm

即使您可以通过查看文件/proc/ process_id /stat来检查每个进程的CPU使用情况。

答案 1 :(得分:0)

查看RDTSCP指令和其他一些衡量绩效的方法metrics。像SniperSim,Gem5等系统模拟器也可以给出正在运行的程序的总周期数(但是,它们可能不是很准确 - 有一些条件需要满足(核心频率相同等)。)

答案 2 :(得分:0)

正如我评论的那样,您可能应该考虑使用oprofile。我对它不是很熟悉(使用起来可能很复杂,需要系统范围的配置)