Que signifie le (!) Après la disponibilité sur htop

84

J'analysais certaines têtes Web en train de regarder htopet j'ai remarqué ce qui suit

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

Qu'est-ce que cela (!)signifie?

Brentwpeterson
la source
@JoelDavis donc le (!) Ne signifie rien d'autre que le serveur est en marche depuis 301 jours?
Brentwpeterson
8
Ils montrent le code exact dans le lien mais oui, c'est simplement "OMG!"
Bratchley
2
Le point exact de démarcation est de 100 jours, cependant.
Bratchley
1
@JoelDavis - pourquoi ne pas écrire cela en A pour que nous puissions tout clôturer?
slm

Réponses:

119

Depuis le code source htop , le fichier UptimeMeter.c , vous pouvez voir:

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

Je pense !qu’il ne s’agit là que d’une marque indiquant que le serveur est opérationnel depuis plus de 100 jours.

Référence

cuonglm
la source
Donc, il y a un débordement de mémoire tampon après 9999 jours de disponibilité? (tampon semble être [32] maintenant)
Kopfgeldjaeger
108

auteur htop ici. Oui, comme d’autres l'ont déjà mentionné, il apparaît après 100 jours de disponibilité.

La raison n’a rien d’extraordinaire, c’est un œuf de Pâques dans le logiciel. Considérez que le programme est impressionné par votre temps de disponibilité et prenez-le comme vous le souhaitez. :)

Hisham HM
la source
3
C'est toujours agréable de voir une réponse définitive comme celle-ci.
iamnotmaynard
34

htop affiche le point d'exclamation lorsque le serveur est actif depuis 100 jours ou plus.

Alors que les administrateurs système étaient fiers de pouvoir afficher de longues périodes de disponibilité, le système doit maintenant être redémarré pour être tenu au courant des nouveaux noyaux et de certains correctifs de sécurité. Pour cette raison, une longue période de disponibilité n'est probablement pas une bonne chose et j'ai tendance à interpréter le point d'exclamation comme un signe d'alerte.

Raffaele D'Elia
la source
8
Bien que votre réponse soit succincte (et apparemment correcte), l'ajout de liens vers des documents pertinents ou des sources justificatives serait un élément positif.
HalosGhost
7
Dans certains cas, vous pouvez rester à jour sans redémarrage. Cependant, le problème est qu'après de nombreux changements, vous ne pouvez pas être sûr que le système va démarrer en cas de redémarrage imprévu. Ce n'est donc pas une mauvaise idée de faire des redémarrages planifiés pour les tests.
Tadas Sasnauskas
si le patch en direct dans le noyau Linux 4 n'est pas nécessaire? puisque le système doit être démarré régulièrement pour la vérification des bogues?
Chenming Zhang
J'utilise le soin du noyau pour rendre mon noyau sans redémarrage.
Allquixotic