机器总运行时间

cum*_*aba 7 linux cpu bios uptime

有什么方法可以从 BIOS 或 CPU 读取 linux 系统的总运行时间?

我已经通过 dmidecode 搜索了 BIOS 信息。但它给出的发布日期不适合我的问题。

然后我检查了/proc。但它只保存上次重启后的正常运行时间值。也许,为每次启动编写这些正常运行时间值可能是一种选择。

然后我检查了dumpe2fs。它给出了特定硬盘驱动器的总运行时间。这对我来说没用,因为在我的应用程序运行时可以更改硬盘。

除了以上这些,我如何读取或计算系统的总运行时间?我可以从哪里阅读?

Ste*_*itt 10

据我所知,这不是固件跟踪的内容。甚至 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
Run Code Online (Sandbox Code Playgroud)

正如quixotic所指出的,您可以通过查看日志来了解历史正常运行时间。如果您正在运行 systemd,您可以查看使用journalctl --list-boots. 日志轮换意味着这可能会错过很多正常运行时间。

正如JdeBP所指出的,last reboot可能会为您提供更长的启动列表以及相关的正常运行时间。