您知道为什么 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 FS UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 80 0 - 30225 - 1 月 1 日 ? 00:00:49/sbin/init
该主机运行稳定
答案1
系统启动的明显时间(如 所示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
也会有相应的变化。