17.6.5. 커널 동일한 페이지 병합 관리
KSM(커널 동일 페이지 병합)은 가상 머신(VM) 간에 동일한 메모리 페이지를 공유하여 메모리 밀도를 향상시킵니다. 그러나 KSM을 활성화하면 CPU 사용률이 증가하며 워크로드에 따라 전체 성능에 부정적인 영향을 미칠 수 있습니다.
요구 사항에 따라 단일 세션 또는 영구적으로 KSM을 활성화하거나 비활성화할 수 있습니다.
RHEL 9 이상에서는 KSM이 기본적으로 비활성화되어 있습니다.
사전 요구 사항
- 호스트 시스템에 대한 루트 액세스.
절차
KSM을 비활성화합니다.
단일 세션의 KSM을 비활성화하려면
systemctl
유틸리티를 사용하여ksm
및ksmtuned
서비스를 중지합니다.# systemctl stop ksm # systemctl stop ksmtuned
KSM을 영구적으로 비활성화하려면
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
익명 페이지가 KSM 페이지를 교체하면 khugepaged
커널 서비스에서 VM의 물리적 메모리에서 투명한 hugepages를 다시 빌드합니다.
- KSM을 활성화합니다.
KSM을 활성화하면 CPU 사용률이 증가하고 전체 CPU 성능에 영향을 미칩니다.
ksmtuned
서비스를 설치합니다.# yum install ksmtuned
서비스를 시작합니다.
단일 세션으로 KSM을 활성화하려면
systemctl
유틸리티를 사용하여ksm
및ksmtuned
서비스를 시작합니다.# systemctl start ksm # systemctl start ksmtuned
KSM을 영구적으로 활성화하려면
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