Load

任何實用程序可以找到一段時間內系統負載/平均負載的來源?

  • October 10, 2013

通過執行 top、htop、uptime 等,我們可以看到負載平均值為三個值,表示過去 1/5/15 分鐘的平均負載(不是真的,但這不是這裡的問題)。

有時我會注意到過去 15 分鐘的平均負載相當高,但目前負載非常低。是否有一個實用程序/程序可以列出過去 1/5/15 分鐘(或其他類似時間段)消耗最多 CPU 時間的程序(即使它們不再存在)?

我知道平均負載也可能是由等待 I/O 的程序引起的,但我最感興趣的是查看最佔用 CPU 的應用程序(儘管能夠查看歷史 I/O 也很好)。

據我所知,執行 htop 和按時間排序在這裡對我沒有幫助,因為如果電腦已經打開了一段時間,最高值不一定與最近的過去有關。

我建議使用atop. 預設情況下,它是每 10 分鐘收集一次所有“頂級”資訊的守護程序,您可以及時返回查看這些“頂級”快照。根據您的需要調整預設間隔設置(如果設置得更頻繁,則會消耗更多磁碟空間)。

就在昨天,我回答了一個類似的問題,其中包含了一個非常簡短的操作方法。

從 htop 的指示來看,我假設您正在執行 Linux。

您可以查看一個名為sar的實用程序,它在 Solaris 上經常使用,但我很少在 Linux 上使用它。它能夠記錄一天的系統活動,然後以不同的時間間隔進行報告。您也可以查看Orca,但數據統計資訊仍然是每個系統的。

如果您需要每個流程的數據,那麼顯然有像TeamQuest這樣的付費產品。

引用自:https://unix.stackexchange.com/questions/57660