18.6.8. 커널 동일한 페이지 병합 활성화 및 비활성화
가상 머신(VM)의 CPU 효율성을 최적화하려면 호스트에서 커널 동일 페이지 병합(KSM)을 활성화하거나 비활성화할 수 있습니다.
KSM은 VM 간에 동일한 메모리 페이지를 공유하여 메모리 밀도를 향상시킵니다. 따라서 KSM을 활성화하면 VM 배포의 메모리 효율성을 향상시킬 수 있습니다. 그러나 KSM을 활성화하면 CPU 사용률도 증가하고 워크로드에 따라 전체 성능에 부정적인 영향을 미칠 수 있습니다.
RHEL 10에서 KSM은 기본적으로 비활성화되어 있습니다. KSM을 활성화하고 VM 성능에 미치는 영향을 테스트하려면 다음 지침을 참조하십시오.
사전 요구 사항
- 호스트 시스템에 대한 루트 액세스.
프로세스
KSM을 활성화합니다.
주의KSM을 활성화하면 CPU 사용률이 증가하고 전체 CPU 성능에 영향을 미칩니다.
ksmtuned서비스를 설치합니다.# dnf install ksmtuned서비스를 시작합니다.
단일 세션에 대해 KSM을 활성화하려면
systemctl유틸리티를 사용하여ksm및ksmtuned서비스를 시작합니다.# systemctl start ksm # systemctl start ksmtunedKSM을 영구적으로 활성화하려면
systemctl유틸리티를 사용하여ksm및ksmtuned서비스를 활성화합니다.# systemctl enable ksm Created symlink /etc/systemd/system/multi-user.target.wants/ksm.service/usr/lib/systemd/system/ksm.service # systemctl enable ksmtuned Created symlink /etc/systemd/system/multi-user.target.wants/ksmtuned.service /usr/lib/systemd/system/ksmtuned.service
- KSM 활성화의 이점을 평가하기 위해 호스트에서 VM의 성능 및 리소스 사용량을 모니터링합니다. 특히 KSM의 추가 CPU 사용량이 메모리 개선 사항을 오프셋하지 않고 추가 성능 문제가 발생하지 않도록 합니다. 대기 시간에 민감한 워크로드에서는 NUMA 간 페이지 병합에도 주의하십시오.
선택 사항: KSM이 VM 성능을 개선하지 않은 경우 비활성화합니다.
단일 세션에 대해 KSM을 비활성화하려면
systemctl유틸리티를 사용하여ksm및ksmtuned서비스를 중지합니다.# systemctl stop ksm # systemctl stop ksmtunedKSM을 영구적으로 비활성화하려면
systemctl유틸리티를 사용하여ksm및ksmtuned서비스를 비활성화합니다.# systemctl disable ksm Removed /etc/systemd/system/multi-user.target.wants/ksm.service. # systemctl disable ksmtuned Removed /etc/systemd/system/multi-user.target.wants/ksmtuned.service.참고KSM을 비활성화하기 전에 VM 간에 공유되는 메모리 페이지는 공유된 상태로 유지됩니다. 공유를 중지하려면 다음 명령을 사용하여 시스템의 모든
PageKSM페이지를 삭제합니다.# echo 2 > /sys/kernel/mm/ksm/run그러나 이 명령은 메모리 사용량을 늘리고 호스트 또는 VM에서 성능 문제가 발생할 수 있습니다.