본문 바로가기

VMware

VMware Linux Guest 에서 시간이 느려지는 문제

Guest OS 로 사용중인 CentOS 5.0 에서 1분마다 30초 정도씩 시간이 엄청 느려지는 문제가 있어 해결법을 찾아봤습니다.

VMware Tools 을 설치 안 해서 그런가 생각했지만 Kubutu Feisty 에서는 VMware Tools 설치 전에도 괜찮았고...

구글에서 "centos vmware slow timer" 키워드로 검색해 보니 예전부터 있었던 문제였네요.
VMware Workstation 5.5.3, CentOS 4.4 에서는 괜찮았던 것 같은데 왜 지금껏 몰랐던 건지? ^^

2009.12.12 Timekeeping best practices for Windows
2009.02.19 New Timekeeping Articles
2009.01.28 배포판에 따라 추천하는 Kernel Parameter => Timekeeping best practices for Linux
RHEL 5.2 (CentOS 5.2) => divider=10 clocksource=acpi_pm, Ubuntu 8.10 => clocksource=acpi_pm

관련 글 : 1. Clock in a Linux Guest Runs More Slowly or Quickly Than Real Time
             2. Timekeeping in VMware Virtual Machines

원인 :
Linux Guest OS 의 경우 timer interrupts 를 세서 시간을 유지하는데 초당 1000번 이상 인터럽트 요청시 시간 유지에 문제가 발생.
Kernel 2.4 이하 초당 100번, Kernel 2.6 는 초당 1000번, SMP Kernel 일 경우 CPU 개수가 n 이라면 n+1 배 요청

해결 방법 :
Kernel 2.4 에서는 커널 Command Line 에 "nosmp noapic nolapic" 를 추가
Kernel 2.6 일 경우 timer interrupt rate 를 수정해서 Kernel 을 새로 컴파일

nosmp nolapic 을 추가하니 시간 느려짐이 많이 줄지만 완전히 해결되지는 않네요. Kernel 컴파일을 하면 더 나아지려나? ^^