Вы знаете, почему на платформе Azure увеличивается время безотказной работы?
hostname@ubuntu:~$ date
Thu Jan 4 15:00:04 CET 2018
hostname@ubuntu:~$ uptime -s
2018-01-01 00:52:15
После 10 минут:
hostname@ubuntu:~$ date
Thu Jan 4 15:10:18 CET 2018
hostname@ubuntu:~$ uptime -s
2018-01-01 00:52:24
имя хоста @ ubuntu: ~ $ ps -Afl F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 80 0-30225 - 01 января? 00:00:49 / sbin / init
Этот хост работает стабильно
Кажущееся время загрузки вашей системы, как показано uptime -s
, изменилось, потому что изменились системные часы.
Давайте посмотрим на исходный код для uptime
, чтобы увидеть, как это работает.
/* Get the current time and convert it to a double */
gettimeofday(&tim, NULL);
now = tim.tv_sec + (tim.tv_usec / 1000000.0);
Здесь мы видим, что сначала он получает текущее время дня.
/* Get the uptime and calculate when that was */
uptime(&uptime_secs, &idle_secs);
up_since_secs = (time_t) ((now - uptime_secs) + 0.5);
Затем он получает фактическое время безотказной работы в секундах, о котором сообщает ядро, и которое в противном случае было бы сообщено, если бы вы не использовали -s
. Затем он вычитает это количество секунд из текущего времени с округлением до ближайшей секунды.
Таким образом, если системные часы настроены, выход -s
будет соответствующее изменение.