Назад | Перейти на главную страницу

Время безотказной работы Azure linux увеличивается

Вы знаете, почему на платформе 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 будет соответствующее изменение.