Eu quero monitorar o tempo de inicialização (o tempo necessário para o sistema inicializar) em comparação com a versão do software instalado (kernel e outro software) dia a dia para dar uma olhada no desempenho de inicialização do meu computador arch-linux.
Eu uso o comando systemd systemd-analyze time
para obter o tempo de inicialização.
Minha ideia é ter um log com:
[day]
.......Boot time [s]: 2.145 (kernel) + 13.675 (userspace)
.......with kernel version 4.11.2
.......gnome-shell version 3.24.1
[day+1]
.......Boot time [s]: 3.145 (kernel) + 21.665 (userspace)
.......with kernel version 4.17.11
.......gnome-shell version 3.28.3
Como eu posso fazer?
Ideia básica
Eu ficaria tentado a fazer isso como um serviço systemd que registra isso em um arquivo:
Isso reduz a saída
systemd-analyze time
para apenas os bits que você deseja. O restante das informações que você deseja é fácil de obter por meio das próprias linhasuname
degnome-shell
comando:Mais refinado
Como um script o acima:
A saída:
O arquivo da unidade:
TLDR; analisando o tempo de análise do systemd
O
sed
usado acima funciona da seguinte forma:s/Startup finished in //
- remove tudo da esquerda até a palavrain
s/ +.*(initrd)//
- remove tudo começando em+
até(initrd)
s/ =.*$//
- remove tudo no final da string, começando com=
o final da linha$