2024-05-14 21:59:16 发布
网友
我想在不同的部分监视我的项目,以找出哪个部分消耗了更多的CPU使用率。我认为有两种可能: 1-在每个命令获得CPU使用率之前,当然它不能有效,因为命令可能持续很长时间,我无法在命令执行期间检查CPU使用情况。 2-创建一个监视守护进程,它以毫秒为单位监视特定进程的CPU使用情况,并将它们记录在某些位置,同时在我的项目中记录时间并进行比较。在
1-请告诉我是否有其他方法可以做到这一点? 2-请告诉我如何获得具体的进程CPU使用率? 我在linuxdebian上使用python2.6
我想如果您可以在一段时间后将有关您的进程的信息从
/proc/PID/
目录。基于Linux的系统将运行进程的信息保存到其虚拟“proc”目录中。现在它维护着关于过程资源的大量信息利用率关于这个的完整信息可以从here中找到,您可能想探索一下,并找到内核在哪里存储了适合您的需求的有用信息。以前我写了一些shell脚本来获取关于程序进程(输入是PID)的信息。你可以从我的博客上得到信息
http://mantoshopensource.blogspot.in/2011/02/proc-direcory-information.html
现在,如果您可以记录这些信息,并在程序中添加一些日志记录,那么您就可以验证程序的哪个部分占用了更多的CPU内存。一旦您大致确定了导致问题的程序中的模块,那么您就可以使用一些动态工具或进行静态代码分析。在
希望你能找到有用的东西。在
收集关于程序的哪些部分使用最多资源的数据称为分析。Python在标准库中有用于此任务的工具,请参见:
http://docs.python.org/2/library/profile.html
如果这还不够,你可以用google搜索“python profiler”找到其他更适合你需要的工具。在
我想如果您可以在一段时间后将有关您的进程的信息从
目录。基于Linux的系统将运行进程的信息保存到其虚拟“proc”目录中。现在它维护着关于过程资源的大量信息利用率关于这个的完整信息可以从here中找到,您可能想探索一下,并找到内核在哪里存储了适合您的需求的有用信息。以前我写了一些shell脚本来获取关于程序进程(输入是PID)的信息。你可以从我的博客上得到信息
http://mantoshopensource.blogspot.in/2011/02/proc-direcory-information.html
现在,如果您可以记录这些信息,并在程序中添加一些日志记录,那么您就可以验证程序的哪个部分占用了更多的CPU内存。一旦您大致确定了导致问题的程序中的模块,那么您就可以使用一些动态工具或进行静态代码分析。在
希望你能找到有用的东西。在
收集关于程序的哪些部分使用最多资源的数据称为分析。Python在标准库中有用于此任务的工具,请参见:
http://docs.python.org/2/library/profile.html
如果这还不够,你可以用google搜索“python profiler”找到其他更适合你需要的工具。在
相关问题 更多 >
编程相关推荐