이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

거의 모든 프로그램이 그러하듯 VMware Workstation 도 표준적인 셋팅을 가지고 있으며 이를 기본 값으로 사용하고 있습니다. 즉, 사용자가 특별히 셋팅하지 않는 이상 이러한 표준적인 셋팅을 바탕으로 가상 머신이 생성되고 구동이 된다는 뜻 입니다. 이러한 셋팅을 자신이 사용하려는 용도에 맞게 조금만 손봐주면 조금 더 나은 성능으로 가상 머신을 운용할 수 있습니다. 이번 글에서는 그러한 내용들에 대해서 알아보도록 하겠습니다.



CPU



코어의 개수

사실 가상 머신에 할당해야 할 코어의 개수란게 자신의 시스템이 싱글 코어 프로세서나 쿼드 코어 프로세서라면 고민할 필요도 없는 문제입니다. 싱글 코어 사용자는 한 개만 할당 할 수 있으니 하나만 할당하는 것은 당연하고 쿼드 코어 이상 사용자는 두 개 모두를 할당해 주는 게 당연히 성능적인 측면에서 좋습니다. 다만 문제는 듀얼 코어 프로세서를 사용하는 사용자인데 과연 가상 머신에는 몇 개의 코어를 할당해야 할 것인가라는 고민이 생기게 됩니다.

가상 머신에는 몇 개의 코어를 사용해야 하는가?



성능적인 측면에서야 본다면 당연히 호스트의 CPU 를 풀로 사용하게끔 가상 머신의 코어 개수를 두 개로 설정해 주면 좋을 것 입니다. 하지만 여기에는 피할 수 없는 문제가 한 가지 있습니다. 바로 달려있는 CPU 는 하나이고 이를 호스트와 게스트가 서로 나눠서 사용을 하고 있다는 사실입니다.

듀얼 코어 사용자가 가상 머신도 듀얼 코어로 설정한 경우 게스트 컴퓨터에서 최대 부하로 작업이 걸리게 되면(CPU 풀 로드) 게스트 컴퓨터 뿐만 아니라 호스트 컴퓨터에도 풀 로드가 걸리게 됩니다.(CPU 는 하나이기 때문에) 즉, 게스트 컴퓨터로 인해 호스트 컴퓨터까지 느려져 버리게 되고 이는 전체적인 시스템의 성능 저하를 불러오게 되는 것이죠. 이는 결코 좋은 모습이 아니며 흔하진 않지만 게스트 컴퓨터로 인해 호스트 컴퓨터가 다운을 먹어버리고 호스트 컴퓨터의 다운은 결국 게스트 컴퓨터의 다운으로 이어지는 불상사가 발생할 수도 있게 됩니다.(실제로 겪어봤습니다. -_- 그리 흔한 건 아닙니다.)

그렇기 때문에 가상 머신의 코어 개수는 실제 호스트 컴퓨터의 코어 개수보다 적게 설정하는 것이 좋습니다. 즉, 듀얼 코어 사용자는 가상 머신의 코어 개수는 한 개로 설정하는 것이 좋습니다. 이렇게 설정을 하게 되면 게스트 컴퓨터에서 최대 부하가 걸리더라도 호스트 입장에서는 50% 의 부하만 걸린 것이기 때문에 호스트 컴퓨터까지 느려져서 발생하는 문제를 줄일 수 있게 되는 겁니다.


물론 이는 어디까지나 일반적인 환경에서의 이야기이고 테스트 등을 위해 가상 머신을 반드시 듀얼 코어로 셋팅해야만 할 때는 뭐 어쩔 수 없는 겁니다. 자신의 상황에 맞게 잘 판단하여 설정하시면 되는 겁니다. 결론은 VMware 를 쾌적하게 사용하기 위해선 듀얼 코어 이상의 CPU 를 사용하는 게 좋고 100% 성능을 끌어내고자 하는 경우엔 트리플 or 쿼드 코어 이상의 CPU 를 사용하는 게 좋다는 겁니다. 결국은 CPU 에 돈을 좀 쳐 바르시면 VMware 를 아주 쾌적하게 사용하실 수 있습니다.




프로세스 우선 순위

모든 프로그램은 프로세스 우선 순위라는 게 있습니다. 어떠한 프로그램 두 개가 동시에 구동될 때 이 프로세스 우선 순위가 높은 프로그램에 CPU 자원을 조금 더 많이 할당하여 해당 프로그램이 좀 더 빠르고 원할하게 돌아갈 수 있도록 해주는 것이지요.

VMware 의 가상 머신도 가상의 컴퓨터라지만 결국엔 어쩔 수 없이 호스트 운영체제 위에서 돌아가는 하나의 프로그램일 뿐입니다. 그렇기 때문에 가상 머신도 프로세스 우선 순위를 가지고 있으며 기본 값은 Normal 로 설정이 되어 있습니다. 이러한 가상 머신의 프로세스 우선 순위를 조절하여 가상 머신의 성능을 조절해 줄 수 있습니다.

프로세스 우선 순위를 조절할 가상 머신을 선택한 후 메뉴 -> VM -> Settings -> Options -> Advanced 항목으로 들어갑니다.

프로세스 우선 순위 설정 옵션



Process priorties 항목을 보면 Input grabbed 와 Input ungrabbed 의 두 가지 항목이 있는데 이 두 항목이 의미하는 바는 아래와 같습니다.

  • Input grabbed - 게스트 컴퓨터에 제어권이 있을 때 가상 머신의 프로세스 우선 순위
  • Input ungrabbed - 호스트 컴퓨터에 제어권이 있을 때 가상 머신의 프로세스 우선 순위

즉, 가상 머신의 화면을 클릭하여 제어권이 가상 머신으로 넘어갔을 때는 Input grabbed 프로세스 우선 순위를 [Ctrl] +[Alt] 키를 눌러 호스트 컴퓨터로 제어권이 넘어갔을 때는 Input ungrabbed 프로세스 우선 순위의 영향을 받는다는 것 입니다.


이러한 프로세스 우선 순위에는 총 세 가지의 옵션이 있는데 각각의 옵션이 의미하는 바는 아래와 같습니다.

  • High(높음) - 다른 프로세스보다 높은 비율로 CPU 자원을 할당 받습니다. 다수의 프로세스가 동시에 구동 중일 때 다른 프로세스들보다 우선하여 더 많은 CPU 자원을 할당 받게 됩니다. 이 프로세스가 작동하게 되면 다른 프로세스들은 CPU 자원을 뺏기게 되므로 더 느리게 작동하며 특히 낮은 우선 순위를 가진 프로세스는 거의 정지 상태에 가까운 자원만을 할당받게 됩니다.
  • Nomal(보통) - 다른 프로세스들과 동일한 비율로 CPU 자원을 할당 받습니다. 거의 대다수의 프로세스들이 이 우선 순위를 가지고 있습니다.
  • Low(낮음) - 다른 프로세스보다 낮은 비율로 CPU 자원을 할당 받습니다. 이 순위의 프로세스들은 보다 높은 수준의 우선 순위를 가진 프로세스들이 사용하지 않고 남는 CPU 자원 만을 사용합니다.

좀 더 쉽게 알아보는 프로세스 우선 순위

프로세스 우선 순위를 쉽게 설명할 때는 흔히 병원 응급실을 많이 비유하곤 합니다. 병원 응급실에서 치료를 담당하는 의사들의 숫자는 한정되어 있습니다. 치료할 수 있는 의사의 숫자는 한정되어 있는데 응급실에 찾아온 환자의 숫자는 넘쳐나는 게 일반적인 모습이죠. 이 때 의사는 CPU 자원을 의미하고 환자는 프로그램(프로세스)을 의미합니다.

응급실에서 근무하는 의사의 숫자가 총 10 명이라고 했을 때 이 10 명의 의사들은 환자를 한 명씩 맡아 각각 진료 및 치료를 하게 됩니다. 모든 환자가 동등하게 한 명의 의사를 할당받아 치료를 받게 되는 것이죠. 이 때 이 환자들을 Normal 상태라고 할 수 있습니다.

근데 이 때 갑자기 응급실로 곧 숨이 넘어갈 듯한 교통사고 중환자가 들이닥쳤습니다. 그럼 다른 환자를 치료하고 있던 의사들 중 몇 명이 급하게 이 교통사고 환자에게 달려가게 됩니다. 이 교통사고 환자를 High 상태라고 할 수 있습니다. 즉, 다른 환자를 돌보고 있는 의사를 뺐어와 자기 자신을 돌보게 할 수 있는 일종의 권한을 가지고 있는 것 입니다.

이 때 또 다시 굳이 응급실에 오지 않아도 될만한 감기 환자가 어그적 어그적 들어왔습니다. 의사들 중 일부는 교통 사고 환자에게 매달려 있고 나머지 의사들은 다른 환자들을 돌보고 있는 중 입니다. 이 감기 환자가 할 수 있는 일은 한 가지 밖에 없습니다. 의사가 딱히 할 일이 없을 때까지 구석에 앉아서 기다리는 것 말이죠. 이 감기 환자를 Low 상태라고 할 수 있습니다. 즉, 다른 환자들의 진료가 모두 끝나 의사가 한가해져야지만 의사를 할당 받을 수 있는 것이죠. 그 때 까진 닥치고 기다려야 합니다.

이렇듯 프로세스 우선 순위는 각각의 프로세스들의 경중에 맞게 설정되며 운영체제는 이 프로세스 우선 순위에 입각하여 CPU 의 자원을 각각의 프로세스들에게 알맞게 배분하는 것 입니다. 만약 이 프로세스 우선 순위를 잘못 결정한다면 곧 숨이 넘어가는 교통사고 환자는 구석에 찌그러져서 닥치고 기다리고 있어야 하고 어그적거리며 들어온 감기 환자에게 의사들이 우루루 몰려가는 황당한 일이 발생할 수도 있습니다. ^^;


Default 옵션은 Preferences 에서 설정된 프로세스 우선 순위를 따릅니다. Preferences 에 설정된 프로세스 우선 순위 기본 값은 Normal 입니다.

이러한 프로세스 우선 순위는 일종의 제로섬 게임과 같습니다. 한정되어 있는 CPU 의 자원을 서로 뺐고 빼았기는 치열한 전쟁터와 같죠. 그렇기 때문에 용도에 맞게 잘 설정을 해주어야 합니다.

Input grabbed 을 High 로 설정하게 되면 게스트 컴퓨터에 제어권이 넘어갔을 때 게스트 컴퓨터의 프로세스 우선 순위를 높여주게 되므로 게스트 컴퓨터에 더 많은 자원을 할당하게 되고 게스트 컴퓨터의 성능이 올라가게 됩니다.(호스트↓ 게스트↑) Normal 로 설정하게 되면 호스트 컴퓨터의 다른 프로세스들과 동등한 자원을 할당 받기 때문에 호스트 컴퓨터와 게스트 컴퓨터가 균형을 이루게 됩니다.

Input ungrabbed 를 Low 로 설정하게 되면 호스트 컴퓨터로 제어권이 넘어갔을 때 게스트 컴퓨터의 프로세스 우선 순위를 낮추게 되므로 호스트 컴퓨터에 더 많은 자원을 할당하게 되고 호스트 컴퓨터의 성능이 올라가게 됩니다.(호스트↑ 게스트↓) Normal 로 설정하게 되면 호스트 컴퓨터의 다른 프로세스들과 동등한 자원을 할당 받기 때문에 호스트 컴퓨터와 게스트 컴퓨터가 균형을 이루게 됩니다.

성능 Input grabbed Input ungrabbed
게스트 성능 우선 High Nornal
호스트 - 게스트 균형 1 Normal Normal
호스트 - 게스트 균형 2 High Low
호스트 성능 우선 Normal Low


이 중에 VMware 의 기본 설정 값은 Normal - Normal 입니다. 자신의 상황에 맞게 자신의 취향에 맞게 알맞은 값을 설정하시기 바랍니다.


지금까지 각각의 가상 머신마다 따로 프로세스 우선 순위를 설정하는 것에 대해서 알아보았습니다. 이렇게 가상 머신마다 따로 프로세스 우선 순위를 설정하지 않고 모든 가상 머신에 공통으로 적용되도록 프로세스 우선 순위를 설정할 수도 있습니다.

메뉴 -> Edit -> Preferences -> Priority 로 들어갑니다.

기본으로 사용할 프로세스 우선 순위를 결정합니다.



Default process priority 에서 Input grabbed 와 Input ungrabbed 값을 설정해 주시면 됩니다. 이곳에서 설정한 값은 Default 값이 되며 개별의 가상 머신에서 Default 값을 선택할 경우 이곳에서 설정한 값을 따르게 됩니다.








RAM



메모리 크기

가상 머신의 성능에 가장 큰 영향을 미치는 요소가 있다면 바로 이 메모리라고 할 수 있습니다. 메모리 설정을 잘 해 주는 것 만으로도 가상 머신의 전반적인 성능을 향상시킬 수가 있습니다. 하지만 가상 머신에 얼마의 메모리를 할당할 것인지를 결정하는 것은 사실 그리 간단하지는 않습니다. 호스트 컴퓨터의 물리적 메모리 크기와 페이징 파일의 크기를 고려해야 하고 동시에 몇 개의 가상 머신을 돌릴 것인가도 고려해야 하며 게스트 컴퓨터에서 어떠한 프로그램을 돌릴 지 그리고 가상 머신들을 구동하면서 호스트 컴퓨터에선 어떠한 작업을 할 것인지 등 전반적인 사항들을 고려하여 가상 머신에 얼마의 메모리를 할당할 것인지를 결정하게 됩니다.

가상 머신의 메모리 크기 할당



가상 머신의 메모리 용량에는 세 가지의 지침이 있는데 이는 다음과 같습니다.

  • Guest OS recommended minimum - 게스트 운영체제가 요구하는 최소한의 메모리 크기
  • Recommended memory - 게스트 운영체제에 권장하는 메모리 크기
  • Maximum recommended memory - 실제 메모리를 통해 할당 가능한 최대 메모리 크기

가상 머신에는 실제 메모리에 할당할 수 있는 Maximum 이상의 메모리를 할당할 수 있는데 이는 초과분을 페이징 파일에 할당하기 때문에 가능한 것 입니다. 즉, 가상 머신의 메모리 할당은 실제 메모리 + 페이징 파일을 통해 이루어진다는 것이죠.

익히 알다시피 하드 디스크에 존재하는 페이징 파일의 속도는 RAM 의 속도와는 비교가 불가할 정도로 느리게 됩니다. 그렇기 때문에 할당 가능한 실제 메모리를 초과하여 가상 머신의 메모리 크기를 잡는 것은 어쩔 수 없는 경우를 제외하곤 큰 의미가 없는 행동입니다.

가상 머신의 메모리를 할당하면서 가장 주의해야 할 점이라면 동시에 구동되는 가상 머신들의 총 메모리 사용량은 호스트 운영체제가 원활히 돌아갈 수 있을 만큼의 메모리 용량을 뺀 나머지 용량만큼만 할당해야 한다는 것 입니다. 호스트 컴퓨터의 실제 메모리 용량이 1GB 이고 윈도우 XP 가 설치되어 있다면 윈도우 XP 가 어느 정도 원활히 돌아갈 수 있는 메모리 용량인 512MB 정도의 용량을 남겨두고 나머지 512MB 의 용량으로 가상 머신들의 메모리를 맞춰주는 것이 좋다는 것 입니다. 즉, 가상 머신을 한 대만 돌린다면 가상 머신에 최대 512MB 를 가상 머신을 두 대 이상을 돌린다면 가상 머신들의 메모리 합계가 최대 512MB 를 넘지 않도록 잘 배분해야 한다는 것이죠.

만약 이점을 유의하지 않고 가상 머신에 메모리를 과다하게 할당하게 되면 호스트 운영체제가 사용할 메모리가 부족하게 되고 이는 호스트 + 게스트 컴퓨터의 전체적인 성능을 하락시키는 요인이 됩니다. 그래서 VMware 에서는 이러한 호스트 컴퓨터의 성능 하락을 방지하기 위해 가상 머신들이 사용할 수 있는 최대의 물리적 메모리 크기를 제한하는 옵션을 가지고 있습니다.




물리적 메모리 제한

VMware 의 가상 머신들이 사용할 수 있는 물리적 메모리의 총 사용량을 제한하는 옵션은 아래에서 설정할 수 있습니다.

메뉴 -> Edit -> Preferences -> Memory 로 들어갑니다.

가상 머신의 메모리 크기 할당



Reserved memory 는 가상 머신들이 사용할 수 있는 메모리의 총량을 제한합니다. 구동 중인 모든 가상 머신들의 메모리의 합계가 이곳에서 설정한 메모리 용량을 초과했을 때 초과분의 메모리는 물리적 메모리가 아닌 스왑 파일에(페이징 파일) 할당됩니다. 이로써 호스트 컴퓨터의 메모리가 부족해지는 현상을 미연에 방지할 수 있습니다.

Reserved memory 를 얼마로 설정할 것이냐는 호스트 운영체제가 무엇이냐에 따라 조금씩 다릅니다. XP 라면 호스트를 위해 최소한 512MB ~ 1GB 정도는 남겨주는 것을 비스타라면 최소 1GB~2GB 정도는 남겨주는 것이 좋습니다. 자신의 물리적 메모리 크기가 4GB 이고 호스트를 위해 최소한 1GB 는 남겨야겠다면 Reserved memory 는 3GB 로 설정해 주면 되는 것 입니다.


Additional memory 는 가상 머신의 메모리를 주로 어디에 할당할 것인지를 결정하는 옵션입니다. 각각의 옵션은 다음과 같습니다.(스왑 파일은 가상 메모리로 윈도우에서는 페이징 파일을 의미합니다.)

  • Fit all virtual machine memory into reserved host RAM - 모든 가상 머신의 메모리를 물리적 메모리에 할당합니다.
  • Allow some virtual machine memory to be swapped - 스왑 파일에 가상 머신의 메모리 용량을 조금 할당합니다.
  • allow most virtual machine memory to be swapped - 스왑 파일에 가상 머신의 메모리 용량을 거의 대부분 할당합니다.

기본적으로 설정된 옵션은 Allow some... 으로써 가상 머신의 메모리 용량 중 일부를(조금) 무조건 스왑 파일에(윈도우 - 페이징 파일) 할당한다는 옵션입니다. 즉, 가상 머신의 메모리를 모두 물리적 메모리에 할당할 수 있을 만큼 물리적 메모리가 충분히 비어있는 경우에도 이를 모두 물리적 메모리에 할당하지 않고 무조건 조금은 페이징 파일에 할당한다는 것 입니다.

가상 머신의 메모리가 호스트의 페이징 파일을 사용하는 만큼 가상 머신은 느려질 수 밖에 없습니다. 그렇기 때문에 가상 머신의 성능을 좀 더 높이고자 한다면 Fit All... 옵션을 사용하여 가상 머신의 메모리가 모두 물리적 메모리에 할당되도록 설정을 해주는 것이 좋습니다.

Fit All... 옵션을 사용할 때 주의점이라면 가상 머신의 모든 메모리를 물리적 메모리에 할당하기 때문에 그만큼 물리적 메모리의 사용량이 많아지게 되므로 앞서의 Reserved memory 값을 잘 설정하여 호스트 컴퓨터의 메모리가 부족해지는 현상을 잘 방어해야 한다는 것 입니다.(Fit all... 옵션을 사용하더라도 모든 가상 머신들의 메모리 합계가 Reserved memory 를 초과하게 되면 초과된 부분은 페이징 파일로 할당이 됩니다.)

allow most... 옵션을 사용하여 가상 머신의 메모리의 거의 대부분을 페이징 파일로 할당할 경우 물리적 메모리는 그만큼 아낄 수 있겠지만 가상 머신은 그만큼 느려질 수 밖에 없습니다.


이를 종합하자면 아래와 같습니다.

  1. VMware 를 정상적으로 사용하기 위해선 최소한 1GB 이상의 RAM 이 필요하며 2GB 이상의 RAM 용량을 권장합니다.
  2. 가상 머신의 메모리가 스왑 파일을(페이징 파일) 사용하는 것을 최소한으로 해야 가상 머신의 성능을 높일 수 있습니다. - Additional memory 를 Fit all virtual machine memory... 로 설정합니다.
  3. 호스트 컴퓨터의 메모리가 부족해지는 현상을 최대한 막아야 합니다. - Reserved memory 용량을 적절하게 설정합니다.

종합한 내용을 토대로 결론을 내리자면 VMware 를 쾌적하게 사용하고자 한다면 RAM 용량이 충분해야 한다는 겁니다. 즉, CPU 때와 마찬가지로 RAM 에도 돈을 좀 쳐 발라서 용량을 늘려주면 아주 좋습니다.








HDD

가상 머신의 성능 3 대 요소 중 마지막인 하드 디스크입니다. 앞서의 두 요소들보다 중요도는 떨어지지만 그래도 어느 정도 관리를 통해 최적화를 해주는게 좋습니다.

일단 가상 머신의 하드 디스크는 실제의 물리적 디스크를 사용하는 게 성능적인 측면에서 가장 좋겠지만 실제론 많은 위험이 있기 때문에 특별한 목적이 있지 않는 한 잘 사용하지 않기 때문에 논외로 치도록 하겠습니다. 두 번째로 가상 디스크를 생성할 때 Allocate all disk space now 를 통해 생성하는 것은 특수한 경우 또는 돈지랄인 경우가 아니면 거의 사용하지 않기 때문에 이 녀석도 논외로 치도록 하겠습니다. 그래서 보편적인 방법으로 가상 디스크를 생성하여 사용하는 경우 가상 디스크를 관리하는 방법에 대해서 이야기해 보도록 하겠습니다.




조각 모음

가상 머신의 가상 디스크도 어쨌든 디스크이기 때문에 조각이 나고 주기적으로 조각 모음을 실행해 주는 것이 좋습니다.

Virtual Machine Settings 로 들어가 조각 모음을 하고자 하는 가상 디스크를 선택한 후 우측의 Utilties -> Defragment 를 선택합니다.
조각 모음이 시작됩니다.
조각 모음이 모두 완료되었습니다. OK 버튼을 클릭합니다.





vmdk 축소하기

가상 머신을 사용하다 보면 대용량의 파일을 저장했다가 지우는 경우가 종종 발생하게 됩니다. 알다시피 VMware 의 가상 디스크는 사용하는 용량에 맞춰 자동으로 가상 디스크 파일의(vmdk) 용량이 늘어나는 구조입니다. 문제는 이렇게 한 번 늘어난 가상 디스크는 안의 파일을 삭제하더라도 다시 그에 맞춰 줄어들지는 않는다는 것 입니다.


원래의 vmdk 파일의 용량입니다.
약 2GB 정도의 파일을 가상 머신에 복사하였습니다.
그에 따라 vmdk 파일도 약 2GB 정도 늘어난 것을 확인할 수 있습니다.
복사했던 파일을 모두 삭제하였습니다.
파일을 모두 삭제했지만 vmdk 파일의 용량은 줄어들지 않고 그대로 인 것을 확인할 수 있습니다.



다시 가상 디스크에 저장된 파일들의 크기만큼 정상적으로 vmdk 파일을 축소해 보도록 하겠습니다. 이 작업은 VMware Tools 가 반드시 설치되어 있어야 합니다. vmdk 파일의 축소를 진행하기에 앞서 먼저 조각 모음 작업을 해주는 것이 좋습니다.

알림 영역의 VMware Tools 아이콘을 마우스 오른쪽 버튼으로 클릭한 후 Open VMware Tools 를 선택합니다.(또는 더블 클릭합니다.)
Shrink 탭으로 이동하여 공간을 최적화(축소) 할 파티션을 선택한 후 Perpare to shrink 버튼을 클릭합니다.
예 버튼을 클릭합니다.
vmdk 파일을 축소하기 위한 준비 작업을 진행합니다. 조금 기다리셔야 합니다.
축소할 준비를 모두 마쳤습니다. 예 버튼을 클릭합니다.
vmdk 파일의 축소를 시작합니다. 조금 기다리셔야 합니다.
축소를 모두 마쳤습니다. 확인 버튼을 클릭한 후 VMware Tools 창도 닫아 줍니다.
vmdk 파일이 정상적으로 축소된 모습을 확인할 수 있습니다.



Shrink 는 축소라는 의미로 흔히 파티션 관리 툴에서도 파티션을 축소할 때 사용하는 명령어이기도 합니다. 하지만 여기에서의 축소는 파티션을 의미하는 것이 아니라 vmdk 파일을 최적하하여 축소한다는 의미입니다. 다소 헷갈릴 여지가 있기 때문에 말씀드렸습니다.


이상 가상 머신의 가상 디스크를 관리하는 것에 대해서 알아보았습니다. 여기에 가상 디스크를 조금이라도 더 빠르게 사용할 방법이 없냐고 물으실 분들이 계실 것 같아 잠시 이야기 해보도록 하겠습니다.

가상 머신의 가상 디스크는 어차피 호스트 컴퓨터의 하드 디스크 위에 저장된 파일일 뿐입니다. 가상 머신의 가상 디스크를 조금이라도 더 빠르게 사용하고 싶으시다면 윈도우가 설치된 하드 디스크가 아닌 물리적으로 다른 하드 디스크에 가상 디스크 파일을 저장함으로써 병목 현상을 줄여주는 것이 좋습니다. 윈도우 최적화 중 페이징 파일을 윈도우가 설치된 하드 디스크와 물리적으로 다른 하드 디스크로 옮기는 것과 동일한 내용이라고 할 수 있습니다. 하지만 역시나 가장 좋은 방법은 가상 디스크 파일이 저장되는 하드 디스크를 좀 더 빠른 녀석으로 업그레이드 해주는 것 입니다. 결국 하드 디스크도 좋은 녀석으로 사야 된다는 것이지요. 돈을 좀 쓰십시요. -_-; 돈으로 모든 걸 할 순 없지만 돈을 좀 발라주면 쾌적해지는 게 컴퓨터이기도 합니다. -_-;;;;

여담으로 자신의 램 용량이 충분하여 넘쳐 나신다면 한 2~3 GB 정도를 램 디스크로 잡아주시고 이곳에 가상 머신의 가상 디스크 파일을 저장해서 구동해 보시기 바랍니다. 왜 사람들이 컴퓨터의 성능을 발목잡는 요소의 제 1 순위로 하드 디스크를 꼽는지 아실 수 있으실 겁니다. ^^








기타

가상 머신의 성능을 결정하는 3 요소인 CPU, RAM, HDD 에 대해서 알아보았습니다. 이것들 외에도 가상 머신의 성능에 영향을 주는 요소와 설정들에 대해서 이야기하도록 하겠습니다.




VMware Tools 의 설치

가상 머신의 성능을 100% 끌어내고자 한다면 VMware Tools 의 설치는 옵션이 아닌 필수입니다. 그래픽 카드의 드라이버를 업데이트하는 것 외에도 다양한 최적화된 드라이버를 설치해 줌으로써 가상 머신의 성능을 최대로 끌어올려주는 매우 중요한 역할을 하게 됩니다.

대표적으로 SCSI 및 RAID 컨트롤러를 VMware SCSI Controller 로 업데이트 함으로써 가상의 SCSI 장치들의 성능을 조금 더 끌어 올려주며 네트워크 어댑터도 업데이트하여 10Mbps 에서 1Gbps 로 속도를 격상시켜 줍니다.

또한 가상 머신이 동작하는 도중에 여러 디바이스들을(CD-ROM, Sound 등) 연결하거나 해제할 수 있게 해주는 등의 기능이 있기 때문에 편리성 + 성능 향상의 측면에서도 VMware Tools 는 반드시 설치해 주는 것이 좋습니다.




Bridged Network 의 사용

가상 머신의 네트워크 설정 중 외부와 통신이 가능한(인터넷 연결이 가능한) 연결로는 브릿지 연결과 NAT 연결 두 가지가 있습니다. 브릿지 연결과 NAT 연결에 대해서는 간략하게 설명을 드렸었는데요. 자세한 내용은 글이 이미 준비되어 있으므로 여기에서 다루진 않겠습니다. 간략하게 둘의 차이점을 이야기하자면 내부적으로 NAT 라우터를 돌리느냐 돌리지 않느냐의 차이입니다.

브릿지 연결은 바로 외부와 통신하는 반면에 NAT 는 VMware 에서 구동하는 NAT 라우터를 거쳐서 외부와 통신하기 때문에 어쩔 수 없이 브릿지 연결에 비해 자원을 조금 더 쓸 수 밖에 없으며 VMware 의 NAT 라우터를 거치기 때문에 네트워크 성능에서도 그 만큼 깎아 먹을 수 밖에 없습니다.

그래서 자신이 가상 머신에도 할당 할 수 있는 여분의 공인 아이피를 갖고 있거나 또는 자체적으로 구성된 내부 사설망을 갖추고 있는 경우에는(가정집의 경우 공유기 사용) 브릿지 연결을 사용하는 것이 성능적인 측면에서 좋습니다.




사용하지 않는 장치의 제거

컴퓨터에 장착된 장치들도 당연하게 시스템의 리소스를 차지하고 있습니다. 그렇기 때문에 굳이 사용하지 않는 장치들을 달고 있어서 게스트 컴퓨터의 자원을 갉아먹게끔 놔둘 필요가 없는 것은 당연한 것이겠지요. 게스트 컴퓨터에서 Sound 카드와 USB Controller 등을 사용할 일이 전혀 없다면 이러한 장치들은 Remove 시켜버리는 게 좋습니다. 역시나 가장 좋은 방법은 사용할 일이 없는 장치들은 아예 가상 머신 생성 단계에서부터 잡아주지 않는 것 입니다.




게스트 운영체제의 최적화

과거 컴퓨터의 성능이 지금과 같이 충분하지 않았을 때 윈도우 XP 도 상당히 무거운 운영체제였고 이를 최적화하여 최대한 가볍게 쓰고자 많은 노력들을 했었습니다. 바로 이러한 노력을 가상 머신에도 적용할 수 있습니다.

시각화 기능을 비활성화하고 사용하지 않는 서비스들을 죽이는 등의 작업을 통해 운영체제를 최대한 가볍게 만들어 줌으로써 한정된 가상 머신의 자원 속에서 게스트 운영체제가 최대한 가볍고 빠르게 돌아가도록 최적화 해 주는 것 입니다. 이러한 윈도우의 셋팅은 여러 커뮤니티에서 조금만 검색해 보면 쉽게 찾을 수 있기 때문에 일일히 어떠한 기능을 꺼야한다든지의 내용은 이야기하지 않도록 하겠습니다.




제어권 전환 키의 변경

사실 이 내용은 가상 머신의 성능과는 큰 관계가 없는 설정이지만 호스트 - 게스트 제어권 전환 키가 [Ctrl] + [Alt] 로 설정되어 있어 생기는 불편을 해소하기 위해 설명드리도록 하겠습니다.(사실 이 녀석을 어떤 글에 배치시킬까 고민이 많았습니다... 마땅히 배치시킬 곳이 없더군요. -_-; 그래서 최적화 글에 끼워넣습니다.)

익히 알다시피 [Ctrl] + [Alt] 가 대표적으로 사용되는 곳은 [Ctrl] + [Alt] + [Del] 키 입니다. 도스와 같은 운영체제에서는 시스템 재시작으로 윈도우와 같은 운영체제에서는 작업관리자를 불러오는 키로써 사용이 되고 있습니다. 하지만 게스트 컴퓨터에서 [Ctrl] + [Alt] + [Del] 키를 입력하게 되면 [Ctrl] + [Alt] 가 인식이 되어 제어권이 호스트로 넘어가 버리게 됩니다. 그래서 VMware 에서는 이 문제를 해결하기 위해 VM 메뉴에 Send Ctrl + Alt + Del 이라는 옵션을 제공하고 있습니다.

하지만 문제는 여기에서 끝나지 않습니다. 리눅스에서 콘솔과 X-Windows 전환을 위해 사용되는 키인 [Ctrl] + [Alt] + [F1 ~ F12] 에서 문제가 생겨버리는데요. 이건 [Ctrl] + [Alt] + [Del] 과는 달리 Send 메뉴로도 제공되지도 않습니다. 어쩌라구?

그래서 VMware 에서는 이러한 게스트 운영체제에서 사용하는 단축 키들과 충돌하는 문제를 해결하기 위해 제어권 전환 키 자체를 [Ctrl] + [Alt] 에서 다른 키들의 조합으로 변경할 수 있도록 해 놓았습니다.

메뉴 -> Edit -> Preferences -> Hot Keys 로 들어갑니다.

[Ctrl], [Shift], [Alt], [Win], [Spacebar] 키로 다양한 조합을 구성 가능합니다.



기본적으로 제공되는 제어권 전환키는 [Ctrl] + [Alt] 와 [Ctrl] + [Shift] + [Alt] 의 키 조합입니다. 이 키 조합 외에도 Custom 을 통해 [Ctrl], [Shift], [Alt], [Win], [Spacebar] 키로 본인이 원하는 다양한 키의 조합을 만들 수 있습니다.

Custom 을 통해 키를 조합하는 방법은 원하는 키를 Down 으로 놓고 원하지 않는 키는 Up 으로 놓으시면 됩니다. 하나의 키만 Down 으로 놓는 경우 키 조합은 [해당 키] + [Spacebar] 의 조합을 가지게 됩니다.



이상으로 가상 머신의 여러가지 옵션을 셋팅하여 최적화하는 것에 대해서 알아보았습니다. 그럼 자신에게 맞게 옵션들을 잘 조절하여 조금이라도 더 쾌적하게 가상 머신을 사용하시길 바랍니다.



p.s 가상 머신을 최고로 쾌적하게 사용하고자 하신다면 바로! 컴퓨터에 돈을 좀 발라주시면 됩니다!!

컴퓨터에 돈을 이렇게 발라주시면 가상 머신 뿐만 아니라 컴퓨터 자체를 쾌적하게 사용하실 수 있습니다.
: