высокая производительность процессора при выполнении скриптов на rhel 7 VM, исходящих из rngd

Я перемещаю физический сервер на виртуальную машину (rhel 7.3), и при запуске довольно простого сценария я заметил, что использование ЦП было очень высоким для того, что я выполнял. После небольшого расследования я обнаружил, что если я запустил любой скрипт, который rngd потребляет около 30% CPU (30% по сравнению с 4 ядрами, то есть по одному полноценному ядру). Тест-скрипт, демонстрирующий это поведение, прост, как этот …

#!/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 

Я провел небольшое исследование, и кажется, что vmware использует virtio_rng, модуль ядра, который предоставляет аппаратную rng для VM, и модуль загружается. Я не могу проверить правильность конфигурации в самом окне esxi, но мои вопросы:

  1. Как я могу убедиться, что virtio_rng правильно настроен в виртуальной среде?
  2. Почему такой простой скрипт, который не использует случайные числа, должен обращаться к rngd и потреблять по существу весь процессор?
  3. Я могу не понимать энтропию и то, как она играет роль при выполнении команд. Может ли кто-нибудь указать мне в правильном направлении? (google дал много неприменимых результатов)

Interesting Posts

Введите пароль в поле пароля терминала без клавиатуры

Почему это, когда я загружаю двоичный файл из Интернета, у него нет установленных разрешений, но когда я использую gcc для создания двоичного файла, он это делает?

Нет трафика через установленный туннель IKEv2 StrongSWAN

Centos 7 – Попытка установить postgresql (из postgresql.org)

Почему Ctrl + R ничего не делает в терминале Ubuntu?

Запросить подтверждение для каждой команды

Завершение Bash: отдельно показывайте результаты из разных источников

Как запустить команду только в том случае, если sed заменяет строки

mv: target 'hadoop /' не является каталогом

Как определяются разрешения по умолчанию (на OS X)?

yum пытается установить пакет PLUS зависимости – я НЕ хочу эту зависимость

Блокировка в сценарии оболочки

Значение, назначенное внутри функциональной переменной, всегда пусто

Направление старой символической ссылки на другое место

Как linux загружает прошивку для встроенных модулей драйверов

Linux и Unix - лучшая ОС в мире.