问题很简单:计算机处于以下任何状态的时间段是否计入系统的总正常运行时间?
- 冬眠
- 暂停系统
- 改变运行级别
注意:
- 我对
uptime
命令本身不感兴趣。快速查看 Terrance 提供的源代码链接并没有显示任何关于休眠或挂起的信息 - 我感兴趣的是内核如何计算系统运行的时间,挂起/休眠如何影响该值。
- 如果可能,请提供文档参考
问题很简单:计算机处于以下任何状态的时间段是否计入系统的总正常运行时间?
注意:
uptime
命令本身不感兴趣。快速查看 Terrance 提供的源代码链接并没有显示任何关于休眠或挂起的信息
该
uptime
命令从 中获取其数据/proc/uptime
,这些数据完全由内核公开。因此,我们将查看内核文档以了解其实际代表什么。在
Documentation/filesystems/proc.txt
中,我们看到:(此文件中有两个值,因此有两个描述)
这里对“挂钟”的引用很重要——它意味着所有经过的时间,无论机器的时钟是否正在运行。所以,这个时间会在挂起或休眠状态下不断增加。
换句话说,正常运行时间值实际上是自上次启动以来经过的时间。
这
uptime
是严重误导。如果你使用uptime -s
它更有意义:现在您可以看到它只是向您显示上次启动时间。如果您想知道真正的正常运行时间,请参阅此答案。样本输出: