Também não consegui encontrar um gráfico de CPU ao vivo e apenas com texto. Então, eu fiz um.
Aqui está um link para o meu repositório github: link
Experimente, se quiser, e relate quaisquer erros na página dos repos do meu repo.
EDITAR:
Screenshot:
Instalar:
Você terá que compilá-lo a partir da fonte. Eu forneci um makefile simples que chama o gcc.
Você pode executar o programa usando make
, em seguida, ./build/target/ttysys
Como alternativa, você pode executar make install
seguido por ttysys
, já que ele está no seu caminho agora.
Uso:
$ ttysys [<sequence>]
seqüência pode consistir em qualquer número dos seguintes caracteres:
-
?
- Exibe uma janela de ajuda. -
h
- divide a janela atual horizontalmente. -
v
- Dividir a janela atual verticalmente. -
c
- fecha a janela atual. - Tab - Move para a próxima janela em ordem de criação.
- Setas - Mover para a próxima janela na tela na direção pressionada.
- Números
0
-9
- Selecione uma fonte de dados para uma janela.-
0
definirá a fonte de dados para uma visão geral e1
-9
configurou para um núcleo específico.
-
-
g
- Alterna a grade para a janela selecionada. -
e
- Alterna a exibição do valor no título da janela atual. -
t
- Alterna a exibição da barra de título da janela atual. -
l
- Alterna a exibição da barra lateral do rótulo da janela atual. -
q
- Saia deste programa. -
u
- O mesmo que pressionar a tecla de seta para cima. Mover para a janela acima da atual. -
d
- O mesmo que pressionar a tecla de seta para baixo. Mover para a janela abaixo da atual. -
l
- O mesmo que pressionar a tecla de seta para a esquerda. Mover para a janela à esquerda do atual. -
r
- O mesmo que pressionar a tecla de seta para a direita. Mover para a direita da janela atual.
Esses mesmos botões controlam o programa enquanto ele está sendo executado.
Como funciona:
Funciona lendo as primeiras linhas em /proc/stat
que começam com cpu.
man 5 proc
explicou o significado do conteúdo de /proc/stat
.
Essas linhas informam quanto tempo cada CPU gastou em estados diferentes. A soma de cada linha é o tempo total gasto para cada CPU. Eu li este arquivo duas vezes com um segundo no meio. Em seguida, subtraio os dois totais para ter o tempo total de CPU gasto durante o meu sleep()
. Agora, adiciono os números do usuário e do sistema juntos e divido pela minha diferença. Finalmente, é apenas uma questão de exibi-lo bem.