Portál AbcLinuxu, 12. května 2025 13:06
$ uptime
17:46:44 up 1 day, 6:26, 4 users, load average: 1,17, 0,79, 0,64
root@maguro:/ # uptime up time: 20:13:03, idle time: 03:04:05, sleep time: 17:49:09
I don't know exactly when it was changed, but jiffies is now
updated when we return from suspend, which causes the uptime to
effectively increase while we are suspended.
Pri dalsim zkoumani jsem zjistil, ze jadro spravnou hodnotu zna protoze dmesg (cerpajici z /dev/kmsg) ukazuje spravne kdy se stala udalost aniz by zapocitavalo suspend. Teda v tomto kontextu je to vlasnte spatne. Protoze pak dmesg -T ukazuje nesmyslne casy (na coz ovsem upozornuje manpage
-T, --ctime Print human-readable timestamps. Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME.Spravne by se to chovani kmsg<->sysstat tedy melo prohodit aby to davalo smysl
Tak jsem se dopatral, odkud se bere cas pro kmsg a na zaklade toho napsal miniutilitku nazvanou realuptime
#include <stddef.h> #include <stdio.h> #include <time.h> int main(void){ struct timespec monotime; clock_gettime(CLOCK_MONOTONIC, &monotime); int seconds = monotime.tv_sec % 60; int minutes = (monotime.tv_sec / 60) % 60; int hours = monotime.tv_sec / 3600; printf("Real uptime: %02d:%02d:%02d\n", hours, minutes, seconds); return 0; }Takze vyreseno. V linuxu (je veci nazoru zda v kernelu nebo v userspace, asi v tom druhem) rozhodne je bug, ktery, jak se zda, skoro nikoho netrapi. Ale da se workaroudovat. Pripadam si uplne jako ve windows :-p
Svůj názor jsem napsal jednoznačně. A pokud to z toho snad nebylo jasné, nemyslím si, že výklad slova na jakési wiki je závazný pro to, čemu se v Linuxu bude říkat uptime. Koneckonců třeba load average se také na různých systémech počítá různě a nikdo kolem toho nedělá humbuk.
Co se informací poskytovaných jádrem týká, tam bych pak jednoznačně upřednostnil zpětnou kompatibilitu. Ohledně uptime prezentovaného userspace utilitami je mi to celkem jedno, jen by asi bylo vhodné, aby všechny ukazovaly totéž - což by asi nebylo úplně snadné zajistit, pokud by se to mělo změnit.
To bude sranda až to jednou někde někdy bude dávat hausnumera
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.