O que estou vendo no htop no Linux?

1

Não tenho certeza se esse é o lugar certo para essa pergunta, mas vou perguntar de qualquer maneira e ver onde ela chegou!

Eu tenho um processo de nó em execução no Centos e quando executo htop , vejo um monte de processos que parecem relacionados, mas não sei como e espero que alguém possa me explicar: - /

Dê uma olhada nesta captura de tela ....

Eusótenhoumprocesso"realtime-event-manager" em execução e ainda vejo vários. Eu entendo que isso é uma representação do multi-threading subjacente que está acontecendo, mas o que eu não entendo é por que os valores de CPU , MEM e RES são todos iguais? O que eu estou realmente vendo aqui?

Além disso, observe as barras de utilização da CPU na parte superior. Muitas vezes, vejo-os aumentar para 90-100%, mas sem desacelerar perceptível ... isso é uma representação verdadeira ou é apenas a soma dos itens listados em htop ?

    
por AdamJeffers 30.05.2018 / 11:03

1 resposta

1

I only have one "realtime-event-manager" process running and yet I see multiple.

Linux, os threads são implementados como LWPs - Light-Weight Processes , o que significa que os IDs de Thread e IDs de Processo são realmente alocados do mesmo pool. Veja esta resposta para obter boas informações: Diferença entre PID e TID .

Você pode alternar a exibição aninhada / em árvore pressionando F5 .

Adicionalmente, você pode mostrar / ocultar tópicos do espaço do usuário pressionando Shift + H , ou através do menu de configuração - F2

Tambémévantajosoativaraopção" Mostrar nomes de segmentos personalizados ".

Esses " processos " que você está vendo provavelmente são, na verdade, " threads " - isso seria mais claro na visualização em árvore ou com os " Exibir tópicos em uma cor diferente "opção ativada.

the CPU utilisation bars at the top. I often see them spike to 90-100% but with no noticeable slow down

No mundo * nix, 100% significa " 100% de um núcleo " ... não significa " 100% de todo o tempo de processamento disponível " como acontece no Windows.

Além disso, " nenhuma lentidão perceptível " é um ponto muito interessante e subjetivo.

Dependendo da preempção , do escalonador e das prioridades do kernel, o sistema pode ser ajustado e otimizado para:

  • " realtime " - uma tentativa de " soft realtime " agendamento ... (NB: Linux não é um kernel em tempo real)
  • " interativo " - irá mais prontamente antecipar (interromper) os processos para dar a aparência de um sistema mais responsivo
  • " lote " - adiará a interrupção na tentativa de concluir um trabalho grande com mais eficiência, às custas de fazer o usuário esperar.

A maioria dos sistemas voltados para o usuário atualmente otimiza o agendamento interativo, assim como mais e mais servidores.

Além disso, observei que os processadores " maiores " / " melhor " (por exemplo: i7 / Xeon) oferecem uma capacidade de resposta muito melhor sob alta carga do que " menor "processadores (por exemplo: Atom / i3) ... não posso explicar isso, mas pode ser devido à contagem de threads, tamanho do cache, etc ...

    
por 30.05.2018 / 11:29