如何监控命令的Cpu使用情况?

时间:2014-03-19 16:48:58

标签: python linux debian cpu-usage

我想在不同的部分监视我的项目,以找出哪个部分消耗更多的CPU使用率。我认为可以通过两种方式实现: 1-在每个命令获得CPU使用之前,当然它不能有效,因为可能命令持续很长时间并且我无法检查执行命令期间的CPU使用情况。 2-创建一个监视守护进程,它以毫秒为单位监视特定进程的CPU使用情况,并将它们记录在某处并同时在我的项目中记录时间并进行比较。

1-如果还有其他办法可以告诉我吗?
2-请告诉我如何获得特定进程CPU使用率? 我在Linux Debian上使用python 2.6

2 个答案:

答案 0 :(得分:2)

收集有关程序的哪些部分使用大多数资源的数据称为分析。 Python在标准库中具有此任务的工具,请参阅:

http://docs.python.org/2/library/profile.html

如果这还不够,你可以google for' python profiler'找到更适合您需求的其他工具。

答案 1 :(得分:0)

我认为,如果您可以在

之后的一段时间内记录有关您的流程的信息,那就太好了
  

的/ proc / PID /

目录。基于Linux的系统将有关正在运行的进程的信息维护到其虚拟" proc"目录。现在它维护了有关流程资源利用率的大量信息。有关此内容的完整信息可以在here中找到。您可能希望探索这一点,并找到内核存储符合您要求的有用信息的位置。有时回来我写了一些shell脚本来获取有关程序进程(输入是PID)的信息。您可以从我的博客中获取信息

http://mantoshopensource.blogspot.in/2011/02/proc-direcory-information.html

现在,如果您可以记录这些信息并在程序中添加一些日志记录,那么您可以验证程序的哪个部分占用了更多的CPU内存。一旦您在程序中广泛识别出导致问题的模块,那么您可以使用一些动态工具或进行静态代码分析。

希望你会发现它有用。