我們有一個過程需要大約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