2014-03-19 30 views
0

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

1-请让我知道是否有任何其他方式来做到这一点?
2-请告诉我如何获得特定的进程CPU使用率? 我在Linux上使用python 2.6 Debian

回答

2

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

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

如果这还不够,你可以谷歌“巨蟒探查器”找到其他的工具,能更好地满足您的需求。

0

我认为这将是很好,如果你可以一些关于你的过程中从

的/ proc/PID/

目录间隔后记录的信息。基于Linux的系统将关于正在运行的进程的信息保存到其虚拟的“proc”目录中。现在它维护着关于流程资源利用率的大量信息。关于这方面的完整信息可以从here找到。你可能想要探索这个并找到内核存储哪些有用的信息,以满足你的需求。有时候我写了一些shell脚本来获取程序的进程信息(输入是PID)。你可以从我的博客获得的信息现在

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

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

希望你会发现它的一些用途。

相关问题