Tempo de execução total da máquina

7

Existe alguma maneira de ler o tempo total de execução de um sistema Linux do BIOS ou da CPU?

Eu pesquisei informações de BIOS por dmidecode. Mas dá data de lançamento que não é adequada para a minha pergunta.

Em seguida, verifiquei /proc . Mas ele mantém valores de tempo de atividade apenas da última reinicialização. Talvez, escrever esses valores de tempo de atividade para cada inicialização possa ser uma opção.

Em seguida, verifiquei dumpe2fs . Dá tempo total de execução de um disco rígido específico. É inútil para mim porque o disco rígido pode ser alterado enquanto o aplicativo está em execução.

Exceto estes acima, como posso ler ou calcular o tempo de execução total do meu sistema? Onde posso ler?

    
por Cumhur Sayan 08.12.2017 / 10:16

2 respostas

9

Isso não é algo que o firmware rastreia, até onde eu sei. Mesmo as BMCs não medem o tempo total de atividade.

Isso não ajudará com o tempo de atividade passado de inicializações anteriores, mas você pode começar a registrar tempos de atividade agora, instalando uma ferramenta como uptimed e configurá-lo para que nunca descarte valores (defina LOG_MAXIMUM_ENTRIES para 0 em uptimed.conf ). Isso medirá o tempo de atividade do sistema operacional, não o tempo total de CPU, mas deve estar perto o suficiente ... Quando você tiver uptimed em execução, poderá executar uprecords para exibir os totais, por exemplo

    up  1492 days, 02:57:18 | since                     Sat Sep  7 00:50:06 2013
  down    61 days, 08:11:24 | since                     Sat Sep  7 00:50:06 2013
   %up               96.051 | since                     Sat Sep  7 00:50:06 2013

Como apontado por quixotic , você poderá ter uma ideia do tempo de atividade histórico observando seus logs. Se você estiver executando o systemd, poderá ver as botas que foram registradas usando journalctl --list-boots . A rotação do log significa que é provável que perca muito tempo de atividade.

Como apontado por JdeBP , last reboot pode fornecer uma lista maior de inicializações com o tempo de atividade associado .

    
por 08.12.2017 / 10:59
0

Se você não tem problemas em obter essas informações do sistema operacional, com o tuptime você pode visualizar um relatório completo do tempo total do sistema linux, incluindo travamentos do sistema.

Por exemplo, como saída padrão e currículo:

# tuptime

System startups:    8   since   08:32:29 AM 11/24/2016
System shutdowns:   3 ok   -   4 bad
System uptime:      99.99 %   -   1 year, 195 days, 5 hours, 47 minutes and 14 seconds
System downtime:    0.01 %   -   1 hour, 6 minutes and 34 seconds
System life:        1 year, 195 days, 6 hours, 53 minutes and 48 seconds

Largest uptime:     240 days, 7 hours, 38 minutes and 10 seconds   from   08:41:51 AM 02/07/2017
Shortest uptime:    18 hours, 15 minutes and 14 seconds   from   02:26:05 PM 02/06/2017
Average uptime:     70 days, 0 hours, 43 minutes and 24 seconds

Largest downtime:   45 minutes and 15 seconds   from   10:00:01 AM 03/14/2018
Shortest downtime:  5 seconds   from   02:26:00 PM 02/06/2017
Average downtime:   9 minutes and 31 seconds

Current uptime:     85 days, 4 hours, 41 minutes and 1 second   since   10:45:16 AM 03/14/2018

Como alternativa, é possível obter uma lista com todos os eventos históricos com o argumento list, no qual você tem como foi o evento de desligamento, ruim (uma falha) ou ok (após o processo de desligamento):

# tuptime -l

Startup:  1  at  08:32:29 AM 11/24/2016
Uptime:   46 days, 16 hours, 52 minutes and 32 seconds
Shutdown: BAD  at  01:25:01 AM 01/10/2017
Downtime: 5 minutes and 10 seconds

Startup:  2  at  01:30:11 AM 01/10/2017
Uptime:   27 days, 12 hours, 55 minutes and 49 seconds
Shutdown: OK  at  02:26:00 PM 02/06/2017
Downtime: 5 seconds

Startup:  3  at  02:26:05 PM 02/06/2017
Uptime:   18 hours, 15 minutes and 14 seconds
Shutdown: OK  at  08:41:19 AM 02/07/2017
Downtime: 32 seconds

Startup:  4  at  08:41:51 AM 02/07/2017
Uptime:   240 days, 7 hours, 38 minutes and 10 seconds
Shutdown: BAD  at  05:20:01 PM 10/05/2017
Downtime: 3 minutes and 17 seconds

Startup:  5  at  05:23:18 PM 10/05/2017
Uptime:   7 days, 14 hours, 56 minutes and 43 seconds
Shutdown: BAD  at  08:20:01 AM 10/13/2017
Downtime: 11 minutes and 35 seconds

Startup:  6  at  08:31:36 AM 10/13/2017
Uptime:   25 days, 1 hour, 7 minutes and 4 seconds
Shutdown: OK  at  08:38:40 AM 11/07/2017
Downtime: 39 seconds

Startup:  7  at  08:39:19 AM 11/07/2017
Uptime:   127 days, 1 hour, 20 minutes and 42 seconds
Shutdown: BAD  at  10:00:01 AM 03/14/2018
Downtime: 45 minutes and 15 seconds

Startup:  8  at  10:45:16 AM 03/14/2018
Uptime:   85 days, 4 hours, 42 minutes and 9 seconds

Leve em consideração que last reboot e journalctl --list-boots obtêm as informações dos logs e esses logs têm uma vida útil máxima. Em vez disso, tuptime armazena as informações em um determinado arquivo db dedicado a ele.

Para instalação, assumindo que você usa o Linux, o pacote está disponível no Debian com derivadas:

# apt-get install tuptime

Se não, você pode obter o script de instalação "tuptime-install.sh" do repositório: link

    
por 07.06.2018 / 16:55