Comandos de monitoramento de host no Linux: descrição de top, df e outros comandos
1. Veja o uso de recursos do sistema: topo
1.1 Visão geral do comando top
O comando top é uma ferramenta de análise de desempenho comumente usada no Linux, que pode exibir o status de uso de recursos de cada processo no sistema em tempo real, semelhante ao gerenciador de tarefas do Windows.
top é um processo de exibição dinâmico, ou seja, o estado atual pode ser atualizado continuamente pressionando a tecla do usuário. Se o comando for executado em primeiro plano, ele monopolizará o primeiro plano até que o usuário finalize o programa. Para ser mais preciso, o comando top fornece monitoramento de status em tempo real do processador do sistema. Ele exibirá uma lista das tarefas mais "sensíveis" da CPU no sistema. Esse comando pode classificar tarefas por uso de CPU, uso de memória e tempo de execução; e muitos recursos desse comando podem ser definidos por meio de comandos interativos ou em arquivos de personalização pessoal.
1.2 Interpretação da saída do comando top
top
A saída do comando top consiste em duas partes: a parte superior é a descrição geral do recurso do sistema e a parte inferior é a descrição do processo.
1.2.1 Descrição dos recursos gerais do sistema
Existem cinco linhas de dados nesta parte, que são explicadas abaixo
-
primeira linha
top - 21:42:18 up 2:39, 3 users, load average: 0.00, 0.01, 0.05
parâmetro ilustrar principal nome do comando 21:42:18 A hora atual do sistema acima Tempo total em que o host está em execução Usuários O número de usuários logados no host atual carga média Carga do sistema, os três valores são as condições de carga de 1 minuto, 5 minutos e 15 minutos, respectivamente. - Os dados médios de carga são um valor calculado verificando o número de processos ativos a cada 5 segundos e, a seguir, de acordo com um algoritmo específico. Se este número for dividido pelo número de CPUs lógicas, um resultado maior que 5 indica que o sistema está sobrecarregado.
-
segunda linha
Tasks: 228 total, 1 running, 227 sleeping, 0 stopped, 0 zombie
parâmetro ilustrar Tarefas Descrição do número de processos total O número total de processos no host atual correndo O número de processos atualmente em execução. Quanto mais números em execução, maior a carga do host dormindo O número de processos atualmente adormecidos parou O número de processos atualmente parados zumbi Número de processos zumbis -
A terceira linha
%Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
parâmetro ilustrar %Cpu(s) Descrição do uso da CPU nós Uso da CPU do usuário e Uso da CPU do sistema em Porcentagem de tempo de CPU ocupado por processos de alta prioridade eu ia taxa de CPU ociosa de Uso de CPU de espera de E/S oi Taxa de interrupção de hardware da CPU e Taxa de interrupção do software da CPU st Espera forçada para ocupar a taxa de CPU -
quarta linha
KiB Mem : 4025948 total, 2182876 free, 893404 used, 949668 buff/cache
parâmetro ilustrar KiB Mem Descrição da memória física total memória física total livre memória livre total usado quantidade total de memória usada buff/cache A quantidade total de memória usada como cache do kernel -
a quinta linha
KiB Swap: 2097148 total, 2097148 free, 0 used. 2857828 avail Mem
parâmetro ilustrar Troca de KiB Descrição da memória virtual (espaço de troca) total Área total de troca livre Área de troca livre total usado A quantidade total de swap usado aproveitar Mem Troca total em buffer
1.2.2 Descrição do processo
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
736 root 20 0 295564 5328 4068 S 0.3 0.1 0:17.69 vmtoolsd
61076 root 20 0 168576 6928 5284 S 0.3 0.2 0:00.16 sshd
1 root 20 0 191412 4400 2644 S 0.0 0.1 0:02.96 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.22 ksoftirqd/0
parâmetro | ilustrar |
---|---|
PID | identificação do processo |
DO UTILIZADOR | usuário proprietário do processo |
relações públicas | Prioridade do processo, quanto menor, maior |
EM | bom valor, valor negativo significa alta prioridade, positivo significa baixa prioridade |
VIRT | A memória virtual usada pelo processo, em KB |
res | A memória física usada pelo processo, em KB |
SHR | Memória compartilhada usada pelo processo, em KB |
S | Estado do processo (S sleep, R running, Z zombie state, N prioridade negativa, I idle state |
%CPU | Taxa de CPU usada pelo processo |
%MEM | uso de memória de processo |
TEMPO+ | O tempo total de CPU usado pelo processo, a unidade é de 10 milissegundos |
COMANDO | nome do comando/linha de comando |
Os parâmetros acima são exibidos por padrão e são relativamente importantes. Além disso, existem outros parâmetros, como:
PPID: id do processo pai
GROUP: nome do grupo do proprietário do processo
SWAP: trocado na memória virtual usada pelo processo Size
CODE : tamanho da memória física ocupada por código executável, unidade kb
DATA: tamanho da memória física ocupada por partes que não sejam código executável (segmento de dados + pilha), unidade kb
nFLT: número de falhas de página
nDRT: última gravação até agora, o número de páginas que foram modificados.
WCHAN: Se o processo estiver dormindo, exibe o nome da função do sistema em hibernação
Flags: Flag da tarefa.
1.3 principais opções de comando
O comando top também suporta opções de parâmetros
- gramática
top [参数选项]
-
Opções de parâmetros comuns
opções de parâmetros ilustrar -d Defina o tempo de atualização, o padrão é 5s -p Exibir apenas informações sobre um determinado processo -c Exiba o comando completo que gerou o processo, o padrão é o nome do processo -n Especifique o número de atualizações -b Executar em modo não interativo e não em tela cheia, executar top em lotes, geralmente cooperar com -n para especificar várias vezes para gerar estatísticas e redirecionar a saída para o arquivo especificado -eu Não mostre nenhum processo ocioso (ocioso) ou inútil (zumbi) -você Encontre processos iniciados por um usuário específico -
exemplo
-
Sair depois de lavar a saída 3 vezes
top -n 3
-
Saia depois de atualizar a saída 3 vezes e grave o conteúdo da saída em top.log
top -b -n 3 > top.log
-
Encontre processos iniciados pelo usuário tom
top -u tom
-
1.4 principais opções interativas
Quando o top é executado interativamente (ou seja, o comando padrão, não iniciado com a opção -b), você pode usar os seguintes comandos interativos para controlá-lo
botão | ilustrar |
---|---|
tecla h | Pressione a tecla h para exibir a tela de ajuda; tecla ESC para retornar |
tecla c | Pressione a tecla c para exibir o comando completo que gera o processo, que é equivalente ao parâmetro -c. Pressione a tecla c novamente para mudar para a exibição padrão |
tecla f | Pressione a tecla f para selecionar o item a ser exibido |
tecla M | Pressione a tecla M para classificar por tamanho de memória residente (RES) |
tecla P | Pressione a tecla P para classificar de acordo com a porcentagem de uso da CPU |
tecla T | Pressione a tecla T para classificar por tempo/tempo acumulado |
tecla E | Pressione a tecla E para alternar a unidade de exibição de memória superior |
chave | Pressione a tecla e para alternar a unidade de exibição de memória de processo |
1 chave | Pressione a tecla 1 para alternar entre exibir carga média e informações de hora de início |
chave | Pressione a tecla i para não exibir processos ociosos ou inúteis, o que equivale ao parâmetro -i, e pressione-a novamente para mudar para a exibição padrão |
tecla t | Pressione a tecla t para alternar para exibir as informações de status da CPU |
m chave | Pressione a tecla m para alternar para exibir informações de memória |
-
exemplo
-
tecla h para ajuda
-
Pressione a tecla f para selecionar o item a ser exibido
Selecione o parâmetro a ser exibido e pressione a tecla d; os com * são os parâmetros exibidos
-
2. Monitoramento de informações de disco: df
2.1 Visão geral do comando df
Use o comando df para visualizar o uso do disco rígido
-
gramática
df [-h]
Recomenda-se usar -h junto para exibir em uma unidade mais humana
-
exemplo
-
Exibir o uso do disco do host atual
df -h
-
3. Monitoramento da taxa de disco: iostat
3.1 visão geral do iostat
Você pode usar o iostat para visualizar informações sobre CPU e disco
-
gramática
iostat [-x] [num1] [num2]
- Descrição da opção
- -x, mostra mais informações
- num1: número, intervalo de atualização
- num2: número, atualize várias vezes
- Descrição da opção
-
exemplo
-
Veja a velocidade atual do disco
[root@localhost ~]# iostat Linux 3.10.0-1160.88.1.el7.x86_64 (localhost.localdomain) 2023年04月20日 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.11 0.01 0.36 0.01 0.00 99.52 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 2.63 66.01 7.26 915059 100700 dm-0 2.65 65.01 6.96 901194 96425 dm-1 0.01 0.16 0.00 2204 0 dm-2 0.01 0.10 0.16 1449 2206
-
Veja as informações detalhadas da taxa de disco atual e atualize-a a cada 5s, um total de três atualizações
iostat -x 5 3
-
-
Descrição do parâmetro de resultado
Os resultados mostram que existem muitos parâmetros, focando em três: rKB/s, wKB/s, %util
rKB/s: O número de solicitações de leitura enviadas ao dispositivo por segundo
wKB/s: O número de solicitações de gravação enviadas ao dispositivo por segundo
%util: utilização do disco