Eu preciso calcular quanto tempo o linux leva para desligar. Estou executando um linux busybox incorporado no ARM i.MX7. Eu olhei, /var/volatile/log/messages
mas isso só mostra a última inicialização. Eu preciso saber quanto tempo o sistema leva para desligar após, por exemplo shutdown -h -P now
.
Como posso obter uma medição razoavelmente precisa?
Há um problema óbvio: desligar o sistema requer em algum momento o fechamento dos sistemas de arquivos, então os arquivos de log nunca podem pegar o último bit.
Normalmente, você tem algum console serial em tal sistema e se você habilitar o log do kernel no console, você terá todas as saídas com timestamp até imediatamente antes do kernel parar.
Por outro lado, a última ação da maioria dos sistemas embarcados que conheço é »puxar o plugue« desligando o PMIC para garantir que o sistema esteja realmente desligado, de modo que o linux não seja totalmente desligado.
Se a causa da sua pergunta é otimizar o desligamento do sistema, não é fácil nem necessário parar todos os componentes do sistema de forma limpa. Depois de fechar as conexões de rede e desmontar e sincronizar os sistemas de arquivos, basta desligar a energia. A desmontagem limpa de todos os drivers e similares é muito provavelmente supérflua.
Finalmente, se você realmente não tiver console serial por algum motivo estranho, recomendo usar um oscilógrafo na fonte de alimentação: Faça algo para alterar a corrente imediatamente antes de desligar, como alterar a intensidade da luz de fundo, então você poderá calcular o tempo entre esta mudança e o último suspiro do sistema.