Proxmox 게스트 느려짐???
안녕하세요.
Proxmox로 갈아타고 약 한달정도 사용하고 있는것 같습니다.
환경은 11700K, 32G RAM, NVME 512M 로 운영중이고,
쓰다보니 어느새 한 10개정도 돌리고 있네요.
이 중 5개 정도는 24시간 계속 돌리는 중인데,
언제인가 부터 guest에 로그인 할때마다 반응이 매우 느린 현상이 나타납니다.
이래 저래 검색을 하다 보니 윈도우 guest와 메모리 balooning에서 문제가 있다고 합니다.
동적 메모리 할당 같은데, 저는 Ubuntu에서도 현상이 발생해서 모든 guest에서 다 꺼버렸더니 속도가 쾌적해졌습니다.
그러고는 괜찮아졌나 싶었는데, 한 2, 3주쯤 쓰다보니 몇몇 Guest가 아예 느려지는 현상이 발생했습니다.
이전처럼 초기 반응만 느린게 아니라 압축하는데 속도가 현저히 떨어져서 재부팅 하니 복구 되었습니다.
이유를 알수는 없는데, 검색을 해 보니 proxmox를 한대만 쓸거라면 Processor의 타입을 Host로 두는것이
CPU 기능 제한이 없어서 성능상 좋다고 하는군요.
일단 이렇게 바꿔보고 지켜볼까 합니다. ESXi보다 편리한 점은 있는데, 윈도우 guest를 많이 써서 그런지
이전에 겪은적이 없던 소소한 성능 문제가 발생하네요.
현재 설정입니다.
이제 한 몇주간 지켜볼 생각인데, 혹 비슷한 일을 겪은적이 있으신 분이 계실까요?
저는 아직 해당현상을 겪지는 못했지만 KVM에서 Windows 쪽 성능에 문제가 많다는이야기를 본것같기도합니다.
자동 메모리 할당
최소 메모리를 메모리보다 낮게 설정할 때 Proxmox VE는 지정한 최소 용량을 VM에서 항상 사용할 수 있는지 확인하고 호스트의 RAM 사용량이 80% 미만인 경우 게스트에 최대 메모리를 동적으로 추가합니다. 메모리가 지정되었습니다.
호스트의 RAM이 부족하면 VM이 일부 메모리를 다시 호스트로 해제하고 필요한 경우 실행 중인 프로세스를 교체하고 최후의 수단으로 oom 킬러를 시작합니다. 호스트와 게스트 사이의 메모리 전달은 게스트 내부에서 실행되는 특수 벌룬 커널 드라이버를 통해 수행되며 호스트에서 메모리 페이지를 가져오거나 해제합니다. [ 10 ]
여러 VM이 자동 할당 기능을 사용하는 경우 각 VM이 사용해야 하는 사용 가능한 호스트 메모리의 상대적인 양을 나타내는 공유 계수를 설정할 수 있습니다. 예를 들어 4개의 VM이 있고 그 중 3개는 HTTP 서버를 실행하고 마지막 하나는 데이터베이스 서버라고 가정합니다. 데이터베이스 서버 RAM에 더 많은 데이터베이스 블록을 캐시하려면 예비 RAM을 사용할 수 있을 때 데이터베이스 VM의 우선 순위를 지정하려고 합니다. 이를 위해 데이터베이스 VM에 Shares 속성 3000을 할당하고 다른 VM은 Shares 기본 설정인 1000으로 유지합니다. 호스트 서버에는 32GB의 RAM이 있고 현재 16GB를 사용 중이며 32 * 80/100 - 16 = 9GB가 남습니다. VM에 할당할 RAM입니다. 데이터베이스 VM은 9 * 3000 / (3000 + 1000 + 1000 + 1000) = 4.5GB의 추가 RAM을 얻고 각 HTTP 서버는 1.5GB를 얻습니다.
2010년 이후에 출시된 모든 Linux 배포판에는 풍선 커널 드라이버가 포함되어 있습니다. Windows OS의 경우 풍선 드라이버를 수동으로 추가해야 하며 게스트 속도가 느려질 수 있으므로 중요한 시스템에서는 사용하지 않는 것이 좋습니다.
VM에 RAM을 할당할 때 호스트에서 사용할 수 있는 RAM을 항상 1GB로 남겨두는 것이 좋습니다.
윈도우 Ballong 드라이버를 따로 깔긴해야된다고하긴하네요
https://www.clien.net/service/board/cm_nas/11764321 윈도우 게스트 관련 이런글도 검색이 되네요. 일단 ballooning을 끄고 호스트 메모리에도 여유를 두고 돌려보는 중입니다.
cmt alert