分析非常长时间运行的任务

Posted

技术标签:

【中文标题】分析非常长时间运行的任务【英文标题】:Profiling very long running tasks 【发布时间】:2012-06-21 14:06:57 【问题描述】:

如何分析一个运行时间很长的脚本,它会产生许多其他进程?

我们有一项工作需要很长时间才能运行 - 11 小时或更长时间,有时甚至超过 17 小时 - 所以它在 Amazon EC2 实例上运行。

(它正在做袖扣 DNA 比对之类的东西。)

该作业正在执行大量进程、脚本和实用程序等。

我们如何分析它并确定工作的哪些组成部分花费的时间最长?

每个进程每秒的简单 CPU 利用率可能就足够了。我们如何获得它?

【问题讨论】:

【参考方案1】:

您的问题有很多解决方案:

munin 是一个很棒的监控工具,它可以扫描系统中的几乎所有东西并制作漂亮的图表:)。它非常易于安装和使用。

atop 可能是一个简单的解决方案,它可以定期扫描 CPU、内存、磁盘,您可以将所有这些信息存储到文件中(-W 选项),然后您必须分析这些文件检测瓶颈。

sar,它可以扫描系统上的所有内容,但更难解释(例如,您必须使用 RRDtool 自己制作图表)

李>

【讨论】:

以上是关于分析非常长时间运行的任务的主要内容,如果未能解决你的问题,请参考以下文章

长时间运行的任务阻塞了 UI

在 iOS 中实现长时间运行的后台任务

向客户端发送有关视图中长时间运行任务的进度的更新

长时间运行的后台任务完成后应用程序未挂起

芹菜中持久的长时间运行的任务

气流将长时间运行的任务标记为失败