我们有一个过程需要大约20个小时才能在我们的Linux机器上运行。我们希望加快速度,并且首先需要找出瓶颈。我们最好的选择是什么?分析Linux上长时间运行的进程的资源使用情况--CPU,内存,硬盘驱动器?
我正在考虑每N秒对进程的CPU,RAM和磁盘使用情况进行采样。所以除非你有其他建议,否则我的具体问题是:
- N应该多少?
- 哪个工具可以提供这些统计数据的准确读数,并且工具本身正在运行的事实对干扰或破坏影响最小?
- 任何其他技巧,智慧的金块或对其他有用文档的引用将不胜感激,因为这似乎是这些任务之一,您可以在这些任务中耗费大量时间和错误开始新手。
给[*此*](http://stackoverflow.com/a/378024/23771)一杆。这不是关于统计数据,而是关于寻找时间消耗。 – 2015-02-11 21:40:38
如果您不知道进程CPU绑定或I/O绑定,可以从Gregg推荐的最简单的系统监视工具开始:http://www.slideshare.net/brendangregg/linux-performance-analysis- and-tools Linux性能分析和工具(SCaLE11x,2013) - 像'top'(CPU使用率应该接近CPU限制任务的thread_count * 100%)和'iostat'来检查磁盘活动。您也可以检查顶部的“Cpu(s)”行来检查'%sy' - linux内核cpu负载。列出了更多工具,'sar','vmstat','mpstat','iostat'会每N秒显示一次统计数据。迈克,401k的意见是超过242k。 – osgx 2015-03-03 07:29:42