Como o tempo de atividade é calculado?

4

Eu queria saber como uptime é calculado.

É simplesmente a diferença entre agora e tempo de inicialização? Mais especificamente - Se eu fosse inicializar, corra por 5 minutos e coloque a máquina para dormir por um ano; Ao retomar, meu uptime mostrará 5 minutos ou 1 ano e 5 minutos?

Eu acho o palavreado na página man um pouco vago sobre este ponto:

uptime - Tell how long the system has been running.

    
por sam 23.01.2016 / 02:05

1 resposta

5

Depende do sistema de que você está falando. Para sistemas baseados em Linux, você provavelmente está usando uptime de procps , que lê os dados de /proc/uptime .

Para ver isso, leia o código-fonte em seu repositório Git , por exemplo, uptime.c , que usa proc / sysinfo.c .

De acordo com os documentos do CentOS

3.2.30. /proc/uptime

This file contains information detailing how long the system has been on since its last restart. The output of /proc/uptime is quite minimal:

350735.47 234388.90

The first number is the total number of seconds the system has been up. The second number is how much of that time the machine has spent idle, in seconds.

Mas o código-fonte em uptime.c ignora o valor ocioso . Como o sistema está ligado , esperaria que refletisse o tempo decorrido.

    
por 23.01.2016 / 03:02

Tags