3.5. 실시간 가상화 시스템 테스트에 과부하
설정한 RHEL for Real Time 호스트 또는 게스트가 로드가 많은 경우 짧은 대기 시간을 유지 관리하도록 하려면 실시간 대기 시간 과부하 테스트를 수행합니다.
사전 요구 사항
-
실시간 가상 머신 호스트에 맞게
tuned를 구성했습니다. 자세한 내용은 실시간 가상화 호스트에 대한 TuneD 구성을 참조하십시오. - 실시간 가상화에 사용할 대규모 메모리 페이지를 설정했습니다. 자세한 내용은 실시간 가상화 호스트에 대한 대규모 페이지 구성 을 참조하십시오.
프로세스
하우스키핑 코어에 과부하를 추가하십시오. 이렇게 하려면 이전 섹션에서 설정한 하우스키핑 코어 수의 두 배에서 linux 커널을 컴파일하기 시작합니다.
Linux 커널 리포지토리를 복제하고 해당 디렉터리로 이동합니다.
# git clone https://github.com/torvalds/linux.git ; cd linux커널 컴파일에 대한 기본 구성을 생성합니다.
# make defconfigLinux 커널 컴파일을 시작합니다.
# while true; do make -j <double-number-of-housekeeping-cpus> && make clean; done
호스트에서 12 시간 동안
cyclictest절차를 수행하십시오. 다음 예에서 < list_isolated_cores >를 실시간 작업을 위해 분리된 코어 목록으로 바꿉니다(예:1,3,5,7,9,11,13,14,15).# cyclictest -m -q -p95 --policy=fifo -D 12h -h60 -t <number_of_isolated_cpus> -a <list_isolated_cores> -mainaffinity <list_housekeeping_cpus> -i 200최신 고급 AMD64 또는 Intel 64 프로세서(
x86_64라고도 함)를 사용하는 경우 출력에 있는Max Latencies의 최적 값은 40 마이크로초 미만입니다. 측정된 대기 시간이 40 Cryostats를 초과하는 경우 테스트를 종료하려면 명령에-b 40옵션을 추가합니다.12시간 동안 호스트에서 OS 수준 대기 시간 테스트(OSLAT)를 수행합니다.
# ./oslat --cpu-list <list_isolated_cores> --rtprio 1 --D 12h -w memmove -m 4K최신 고급
x86_64프로세서를 사용하는 경우 출력에 있는Maximum의 최적 값은 20 Cryostat 미만입니다. 측정된 대기 시간이 20 Cryostats를 초과하는 경우 테스트를 종료하려면 명령에-T 20옵션을 추가합니다.