htop正常运行后(!)是什么意思


83

我正在分析一些网络负责人,htop并注意到以下内容

Uptime: 301 days(!), 23:47:39

什么(!)意思


@JoelDavis,所以(!)表示服务器已经运行301天了吗?
brentwpeterson

8
它们在链接中显示了确切的代码,但是是的,它基本上只是在说“ OMG!”。
布拉奇利2014年

2
但是,确切的分界点是100天。
布拉奇利2014年

1
@JoelDavis-为什么不把它写成A,这样我们才能解决这个问题?
slm

Answers:


118

htop源代码文件UptimeMeter.c中,您可以看到:

char daysbuf[15];
if (days > 100) {
   sprintf(daysbuf, "%d days(!), ", days);
} else if (days > 1) {
   sprintf(daysbuf, "%d days, ", days);
} else if (days == 1) {
   sprintf(daysbuf, "1 day, ");
} else {
   daysbuf[0] = '\0';
}

我认为!这只是服务器已运行100天以上的标志。

参考


因此,在9999天的正常运行时间后,会有缓冲区溢出吗?(缓冲区现在似乎是char [32])
Kopfgeldjaeger

107

htop作者在这里。是的,正如其他人已经提到的那样,它确实会在100天的正常运行时间后出现。

原因没什么花哨的,它只是软件中的一个复活节彩蛋。考虑到该程序给您的正常运行时间留下了深刻的印象,请随心所欲。:)


3
看到这样的确定答案总是很高兴的。
iamnotmaynard

34

htop 自服务器启动100天或更长时间以来,显示惊叹号。

尽管曾经有系统管理员以表现出较长的正常运行时间为荣,但如今,必须重新启动系统才能与新内核和某些安全修复程序保持同步。因此,长时间的正常运行可能不是一件好事,我倾向于将感叹号解释为警告标志。


8
虽然您的回答很简洁(而且显然是正确的),但增加一些指向相关文档或支持资源的链接将是一个肯定。
HalosGhost

7
在某些情况下,您可以保持最新状态而无需重新启动。但是问题是,在进行了许多更改之后,您不能确定在计划外重新启动的情况下系统是否可以启动。因此,进行计划的重新启动以进行测试并不是一个坏主意。
Tadas Sasnauskas,2015年

因此,Linux内核4中的实时补丁不是必需的吗?因为必须定期引导系统以进行错误检查?
Chenming Zhang

我使用内核维护来使内核不重启。
allquixotic
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.