我分析了一些看着htop的Web头,并注意到以下内容:

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


(!)是什么意思?

评论

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

他们在链接中显示了确切的代码,但是是的,它基本上只是在说“ OMG!”

不过,确切的分界点是100天。

@JoelDavis-为什么不将其写为A,这样我们才能解决这个问题?

#1 楼

从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] = 'q4312078q';
}


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

参考文献


http://sourceforge.net/p/htop/mailman/htop-general/?viewmonth=200707

>

评论


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

– nspo
19年7月18日在20:56



#2 楼

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

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

评论


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

–恢复莫妮卡-notmaynard
18/12/16在6:15

对您的正常运行时间印象深刻,这对我来说似乎是错误的措辞。许多标准的Linux发行版都没有启用实时内核补丁和功能,但是几乎每天都发布安全修复程序。我使用它不仅仅是警告,尤其是当发行版已经在SSH登录中通知需要重新启动系统时。

–索尔斯滕·舍宁(ThorstenSchöning)
19年11月20日在10:51



#3 楼

htop在服务器启动100天或以上后显示惊叹号。

一旦系统管理员以显示较长的正常运行时间为荣,如今,必须重新启动系统以保持最新状态。新内核和一些安全修复程序。因此,长时间的正常运行可能不是一件好事,我倾向于将感叹号解释为警告信号。

评论


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

– HalosGhost
14-10-14在17:49

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

–塔达斯(Tadas Sasnauskas)
15年1月15日在9:02

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

–张晨鸣
2015年6月17日下午4:17

我使用内核维护来使内核不重启。

– allquixotic
16年2月10日在18:33