Что означает (!) После uptime на htop


84

Я анализировал некоторые веб-головы, глядя на htopи заметил следующее

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

Что (!)значит?


@JoelDavis, значит (!) Ничего не значит, кроме того, что сервер работал 301 день?
brentwpeterson

8
Они показывают точный код в ссылке, но да, это в основном просто говорит "OMG!"
Братчли

2
Точная точка демаркации составляет 100 дней.
Братчли

1
@JoelDavis - почему бы не написать это как A, чтобы мы могли это закрыть?
SLM

Ответы:


119

Из исходного кода 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

108

Автор htop здесь. Да, как уже упоминалось, это действительно проявляется после 100 дней безотказной работы.

Причина в том, что ничего необычного, это просто пасхальное яйцо в программном обеспечении. Учтите, что программа впечатлена вашим временем безотказной работы, и примите это как хотите. :)


3
Всегда приятно видеть окончательный ответ, как этот.
iamnotmaynard

34

htop показывает восклицательный знак, когда сервер был включен в течение 100 или более дней.

В то время как когда-то системные администраторы гордились тем, что демонстрируют длительное время простоя, в настоящее время систему необходимо перезагрузить, чтобы поддерживать ее в актуальном состоянии, добавляя новые ядра и некоторые исправления безопасности. По этой причине длительное время работы, вероятно, не очень хорошая вещь, и я склонен интерпретировать восклицательный знак как предупреждающий знак.


8
Хотя ваш ответ является кратким (и, по-видимому, правильным), добавление некоторых ссылок на соответствующую документацию или вспомогательные источники будет позитивным.
HalosGhost

7
В некоторых случаях вы можете оставаться в курсе без перезагрузок. Однако проблема в том, что после многих изменений вы не можете быть уверены, что система загрузится в случае незапланированной перезагрузки. Так что неплохо делать плановые перезагрузки для тестирования.
Тадас Саснаускас

так что живой патч в linux kernel 4 не нужен? система должна регулярно загружаться для проверки ошибок?
Ченминг Чжан

Я использую заботу о ядре, чтобы сделать мое ядро ​​без перезагрузки.
allquixotic
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.