Co oznacza (!) Po przestoju na htopie

83

Analizowałem niektóre głowy internetowe htopi zauważyłem, co następuje

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

Co (!)znaczy

brentwpeterson
źródło
@JoelDavis, więc (!) Nic innego nie znaczy, że serwer działał przez 301 dni?
brentwpeterson
8
Pokazują dokładny kod w linku, ale tak, to po prostu powiedzenie „OMG!”
Bratchley,
2
Dokładny punkt rozgraniczenia wynosi jednak 100 dni.
Bratchley,
1
@JelDavis - dlaczego nie napisać tego jako A, abyśmy mogli to zamknąć?
slm

Odpowiedzi:

118

Z kodu źródłowego htop , pliku UptimeMeter.c , możesz zobaczyć:

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

Myślę, że !tutaj jest tylko znak, że serwer działał przez ponad 100 dni.

Odniesienie

Cuonglm
źródło
Więc po 9999 dniach przestoju występuje przepełnienie bufora? (bufor wydaje się teraz char [32])
Kopfgeldjaeger
107

autor htop tutaj. Tak, jak już wspomniano inni, rzeczywiście pojawia się po 100 dniach bezczynności.

Powodem jest nic szczególnego, to po prostu pisanka w oprogramowaniu. Weź pod uwagę, że program jest pod wrażeniem twojego czasu pracy i weź go tak, jak chcesz. :)

Hisham HM
źródło
3
Zawsze miło jest zobaczyć taką ostateczną odpowiedź.
iamnotmaynard
34

htop pokazuje wykrzyknik, gdy serwer nie działa od 100 lub więcej dni.

Chociaż kiedyś administratorzy systemu szczycili się długim czasem działania, obecnie system musi zostać zrestartowany, aby być na bieżąco z nowymi jądrami i poprawkami bezpieczeństwa. Z tego powodu długi czas przestoju prawdopodobnie nie jest dobrą rzeczą i zwykle interpretuję wykrzyknik jako znak ostrzegawczy.

Raffaele D'Elia
źródło
8
Chociaż twoja odpowiedź jest zwięzła (i pozornie poprawna), dodanie linków do odpowiedniej dokumentacji lub źródeł pomocniczych byłoby pozytywne.
HalosGhost
7
W niektórych przypadkach możesz być na bieżąco bez restartów. Problem polega jednak na tym, że po wielu zmianach nie można mieć pewności, że system uruchomi się w przypadku nieplanowanego ponownego uruchomienia. Więc nie jest złym pomysłem, aby planować ponowne uruchomienie w celu przetestowania.
Tadas Sasnauskas,
więc łatka na żywo w jądrze Linuksa 4 nie jest konieczna? skoro system musi być regularnie uruchamiany w celu sprawdzenia błędów?
Chenming Zhang,
Używam opieki jądra, aby moje jądro zrestartowało się.
allquixotic