Não consigo entender o motivo da alta média de carga (LA)

Não consigo entender o motivo da alta média de carga (LA)

Eu tenho um servidor bare-metal com CPU de 32 núcleos/64 núcleos e 64 GB de RAM. Ubuntu 18.04 integrado. Executando pgsql (carga baixa), ~ 250 contêineres docker com python para funcionamento em rede. htop, mostre-me LA 120 (1/5/15 minutos), mas não consigo encontrar o motivo.

  • htop mostra ~50% de carga de todos os núcleos
  • Tenho 12 GB de RAM grátis
  • vnstat -l mostra 25% de carga no adaptador de rede (no resumo de ambos os lados)
  • show principal wa (iowait) 0,0
  • iostat não mostra nada gravado em HDDs, iotop às vezes mostra processos com gravação de 10-20Kb/s em um segundo.
  • no topo não mostram linhas vermelhas. Tudo cinza (bom).
  • "ps -eo stat | grep -c D" e "ps -eo stat | grep -c D" mostram "1"

Acho que verifiquei tudo - CPU, RAM, HDD, rede. Eu entendo a raiz dos grandes contêineres LA com python. Mas quero encontrar um gargalo para otimização. Onde posso ver um motivo de altamente LA?

Atualização:Alguns adicionais. Eu acho que há gargalo em algum lugar da CPU porque se eu usar pypy em conrainers LA cairá, se usar pyhton simples - LA crescerá. Mas não consigo entender porque o htop sempre mostra carga da CPU <100%.

Responder1

A média de carga do Linux é o número de processos atualmente (ativamente) em execução ou aguardando execução.

Você tem 250 contêineres Docker, além de processos do sistema e ferramentas de monitoramento. Esta é simplesmente uma enorme quantidade de processos. Depende um pouco do que está sendo executado dentro dos seus contêineres e da frequência com que os processos acordam para fazer alguma coisa. Se você reduzir o número de contêineres Docker em 50% e a média de carga também cair 50%, você será o culpado.

informação relacionada