alto uso da cpu ao executar scripts no rhel 7 VM vindo do rngd

1

Estou movendo um servidor físico para uma VM (rhel 7.3) e, ao executar um script bem básico, percebi que o uso da CPU era muito alto para o que eu estava executando. Depois de uma pequena investigação descobri que se eu executo qualquer script que considere cerca de 30% de CPU (30% sobre 4 núcleos, então um núcleo completo essencialmente). Um script de teste que exibe esse comportamento é tão simples quanto isso ...

#!/bin/bash

for i in {1..10000}; do
    echo $i > /dev/null
    y=$((i+1))
    echo $y > /dev/null
    echo $y | grep 'orange' > /dev/null
    sleep 0.001
done

Eu fiz uma pequena pesquisa e parece que o vmware usa o virtio_rng, um módulo do kernel que expõe o rng baseado em hardware para a VM, e o módulo é carregado. Não consigo verificar se a configuração está correta na caixa esxi, mas minhas perguntas são:

  1. Como posso garantir que o virtio_rng esteja configurado corretamente no ambiente virtual?
  2. Por que um script tão simples, que não usa números aleatórios, estaria acessando o rngd e consumindo essencialmente uma cpu inteira?
  3. Eu posso não entender a entropia e como ela desempenha um papel ao executar comandos. Alguém pode me apontar na direção certa? (o google produziu muitos resultados não aplicáveis)
por at least 3 characters 17.05.2017 / 00:48

0 respostas