¿Qué significa (!) Después del tiempo de actividad en htop

84

Estaba analizando algunos cabezales web mirando htopy noté lo siguiente

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

¿Qué significa (!)eso?

brentwpeterson
fuente
@JoelDavis, ¿entonces (!) No significa nada más que el servidor ha estado activo durante 301 días?
brentwpeterson
8
Muestran el código exacto en el enlace, pero sí, básicamente solo dice "¡Dios mío!"
Bratchley
2
Sin embargo, el punto exacto de demarcación es de 100 días.
Bratchley
1
@JoelDavis: ¿por qué no escribir eso como A para que podamos cerrar esto?
slm

Respuestas:

119

Desde el código fuente de htop , archivo UptimeMeter.c , puede ver:

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';
}

Creo que !aquí hay solo una señal de que el servidor ha estado activo durante más de 100 días.

Referencia

Cuonglm
fuente
Entonces, ¿hay un desbordamiento del búfer después de 9999 días de tiempo de actividad? (el búfer parece ser char [32] ahora)
Kopfgeldjaeger
108

Htop autor aquí. Sí, como otros ya mencionaron, de hecho aparece después de 100 días de tiempo de actividad.

La razón no es nada elegante, es solo un huevo de Pascua en el software. Considere que el programa está impresionado con su tiempo de actividad y tómelo como lo desee. :)

Hisham HM
fuente
3
Siempre es bueno ver una respuesta definitiva como esta.
iamnotmaynard
34

htop muestra el signo de exclamación cuando el servidor ha estado activo desde hace 100 días o más.

Mientras que los administradores del sistema se enorgullecían de mostrar largos tiempos de funcionamiento, hoy en día el sistema debe reiniciarse para mantenerse actualizado con nuevos núcleos y algunas correcciones de seguridad. Por tal razón, un tiempo de actividad prolongado probablemente no sea algo bueno y tiendo a interpretar el signo de exclamación como una señal de advertencia.

Raffaele D'Elia
fuente
8
Si bien su respuesta es breve (y aparentemente correcta), sería positivo agregar algunos enlaces a la documentación relevante o fuentes de apoyo.
HalosGhost
77
En algunos casos, puede mantenerse actualizado sin reiniciar. Sin embargo, el problema es que después de muchos cambios no puede estar seguro de que el sistema se iniciará en caso de reinicio no planificado. Por lo tanto, no es una mala idea hacer reinicios planificados para las pruebas.
Tadas Sasnauskas
¿Entonces el parche en vivo en Linux kernel 4 no es necesario? desde que el sistema tiene que arrancarse regularmente para la verificación de errores?
Chenming Zhang
Utilizo el cuidado del kernel para que mi kernel no se reinicie.
allquixotic