Linux

機器總執行時間

  • June 7, 2018

有沒有辦法從 BIOS 或 CPU 讀取 linux 系統的總執行時間?

我已經通過 dmidecode 搜尋了 BIOS 資訊。但它給出的發布日期不適合我的問題。

然後我檢查了/proc。但它僅保留上次重新啟動後的正常執行時間值。也許,為每次啟動編寫這些正常執行時間值可能是一種選擇。

然後我檢查了dumpe2fs。它給出了特定硬碟驅動器的總執行時間。這對我來說沒用,因為我的應用程序執行時可以更改硬碟。

除了上述這些,我如何讀取或計算我的系統的總執行時間?我可以從哪裡閱讀?

據我所知,這不是韌體跟踪的內容。甚至 BMC 也不測量總正常執行時間。

這對以前引導的過去正常執行時間沒有幫助,但您現在可以開始記錄正常執行時間,方法是安裝諸如此類的工具uptimed並對其進行設置,使其永遠不會丟棄值(LOG_MAXIMUM_ENTRIES在 中設置為 0 uptimed.conf)。這將測量作業系統的正常執行時間,而不是 CPU “開啟”時間,但它應該足夠接近……一旦你開始uptimed執行,你可以執行uprecords以查看總數,例如

   up  1492 days, 02:57:18 | since                     Sat Sep  7 00:50:06 2013
 down    61 days, 08:11:24 | since                     Sat Sep  7 00:50:06 2013
  %up               96.051 | since                     Sat Sep  7 00:50:06 2013

正如quixotic所指出的,您可以通過查看日誌來了解歷史正常執行時間。如果您正在執行 systemd,您可以查看已使用journalctl --list-boots. 日誌輪換意味著這可能會錯過相當多的正常執行時間。

正如JdeBP所指出的,last reboot可能會為您提供更長的靴子列表以及相關的正常執行時間。

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