rngd의 rhel 7 가상 머신에서 스크립트를 실행할 때 높은 CPU 사용량

rngd의 rhel 7 가상 머신에서 스크립트를 실행할 때 높은 CPU 사용량

저는 물리적 서버를 가상 머신(rhel 7.3)으로 옮기고 있으며 상당히 기본적인 스크립트를 실행하는 동안 제가 하고 있는 작업에 대한 CPU 사용량이 매우 높다는 것을 발견했습니다. 몇 가지 조사 결과, 스크립트를 실행하면 rngd가 CPU의 약 30%(4개 코어에서 30%, 즉 본질적으로 전체 코어)를 소비한다는 사실을 발견했습니다. 이 동작을 보여주는 테스트 스크립트는 다음과 같이 간단합니다.

#!/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는 하드웨어 기반 rng를 VM에 노출하고 해당 모듈을 로드하는 커널 모듈인 virtio_rng를 사용하는 것 같습니다. esxi 상자 자체가 올바르게 구성되었는지 확인할 수 없지만 내 질문은 다음과 같습니다.

  1. 가상 환경에서 virtio_rng가 올바르게 설정되었는지 확인하는 방법은 무엇입니까?
  2. 난수를 사용하지 않는 이렇게 간단한 스크립트가 rngd에 액세스하고 기본적으로 전체 CPU를 소비하는 이유는 무엇입니까?
  3. 엔트로피와 엔트로피가 명령 실행에 어떤 역할을 하는지 이해하지 못할 수도 있습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? (해당되지 않는 결과가 많이 검색되었습니다.)

관련 정보