AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 409677
Accepted
cumbaba
cumbaba
Asked: 2017-12-09 01:16:36 +0800 CST2017-12-09 01:16:36 +0800 CST 2017-12-09 01:16:36 +0800 CST

Tempo de execução total da máquina

  • 772

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

Pesquisei as informações do BIOS por dmidecode. Mas dá uma data de lançamento que não é apropriada para minha pergunta.

Então eu verifiquei /proc. Mas mantém os valores de tempo de atividade apenas da última reinicialização. Talvez escrever esses valores de tempo de atividade para cada inicialização seja uma opção.

Então eu verifiquei dumpe2fs. Dá o tempo total de execução de um determinado disco rígido. É inútil para mim porque o disco rígido pode ser alterado enquanto meu aplicativo está em execução.

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

linux cpu
  • 2 2 respostas
  • 2769 Views

2 respostas

  • Voted
  1. Best Answer
    Stephen Kitt
    2017-12-09T01:59:47+08:002017-12-09T01:59:47+08:00

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

    Isso não ajudará com o tempo de atividade passado de inicializações anteriores, mas você pode começar a registrar os tempos de atividade agora, instalando uma ferramenta como uptimede configurando-a para que nunca descarte valores (definido LOG_MAXIMUM_ENTRIEScomo 0 em uptimed.conf). Isso medirá o tempo de atividade do sistema operacional, não o tempo total de CPU "ligado", mas deve ser próximo o suficiente... Assim que estiver uptimedem execução, você pode executar uprecordspara ver 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
    

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

    Conforme apontado por JdeBP , last rebootpode fornecer uma lista mais longa de inicializações com o tempo de atividade associado.

    • 10
  2. rfmoz
    2018-06-08T06:55:38+08:002018-06-08T06:55:38+08:00

    Se você não tiver 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 e resumo padrão:

    # 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
    

    Alternativamente é 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 (seguindo 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 isso last reboote journalctl --list-bootsobtenha as informações dos logs, e esses logs têm uma vida útil máxima. Em vez disso, tuptimearmazena as informações em um arquivo db específico dedicado a ele.

    Para instalação, supondo que você use Linux, o pacote está disponível no Debian e derivados:

    # apt-get install tuptime
    

    Caso contrário, você pode obter o script de instalação "tuptime-install.sh" no repositório: https://github.com/rfrail3/tuptime/

    • 0

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve