에뮬레이터 성능에 대한 하드웨어 가속(Hyper-V & HAXM)Hardware acceleration for emulator performance (Hyper-V & HAXM)

이 아티클에서는 컴퓨터의 하드웨어 가속 기능을 사용하여 Android Emulator 성능을 최대화하는 방법을 설명합니다.This article explains how to use your computer's hardware acceleration features to maximize Android Emulator performance.

Visual Studio를 통해 Android 디바이스가 지원되지 않거나 실용적이지 않은 경우 Android 에뮬레이터를 사용하여 개발자가 Xamarin.Android 응용 프로그램을 쉽게 테스트하고 디버그할 수 있습니다.Visual Studio makes it easier for developers to test and debug their Xamarin.Android applications by using the Android emulator in situations where an Android device is unavailable or impractical. 그러나 Android 에뮬레이터는 실행되는 컴퓨터에서 하드웨어 가속을 사용할 수 없는 경우 너무 늦게 실행됩니다.However, the Android emulator runs too slowly if hardware acceleration is not available on the computer that runs it. 컴퓨터의 가상화 기능과 함께 특별한 x86 가상 디바이스 이미지를 사용하여 Android 에뮬레이터의 성능을 상당히 개선할 수 있습니다.You can drastically improve the performance of the Android emulator by using special x86 virtual device images in conjunction with the virtualization features of your computer.

Windows에서 Android 에뮬레이터 가속화Accelerating Android emulators on Windows

다음 가상화 기술은 Android 에뮬레이터를 가속화하는 데 사용할 수 있습니다.The following virtualization technologies are available for accelerating the Android emulator:

  1. Microsoft의 Hyper-V 및 하이퍼바이저 플랫폼.Microsoft's Hyper-V and the Hypervisor Platform. Hyper-V는 물리적 호스트 컴퓨터에서 가상화된 컴퓨터 시스템을 실행할 수 있게 해 주는 Windows의 가상화 기능입니다.Hyper-V is a virtualization feature of Windows that makes it possible to run virtualized computer systems on a physical host computer.

  2. Intel의 HAXM(Hardware Accelerated Execution Manager)Intel's Hardware Accelerated Execution Manager (HAXM). HAXM은 Intel CPU를 실행하는 컴퓨터에 대한 가상화 엔진입니다.HAXM is a virtualization engine for computers running Intel CPUs.

최적의 성능을 위해 Hyper-V를 사용하여 Android 에뮬레이터를 가속화하는 것이 좋습니다.For optimum performance, it is recommended that you use Hyper-V to accelerate the Android emulator. Hyper-V를 컴퓨터에서 사용할 수 없는 경우 HAXM을 사용할 수 있습니다.If Hyper-V is not available on your computer, then HAXM can be used. Android 에뮬레이터는 다음 기준이 충족되는 경우 자동으로 하드웨어 가속을 사용합니다.The Android emulator will automatically make use of hardware acceleration if the following criteria are met:

  • 개발 컴퓨터에서 하드웨어 가속을 사용하고 활성화할 수 있습니다.Hardware acceleration is available and enabled on your development computer.

  • 에뮬레이터가 x86 기반 가상 디바이스를 위해 생성된 이미지를 실행 중입니다.The emulator is running a system image created for an x86-based virtual device.

중요

VM 가속화된 에뮬레이터는 VirtualBox, VMWare 또는 Docker가 호스팅하는 VM과 같은 다른 VM 내에서 실행할 수 없습니다.You can't run a VM-accelerated emulator inside another VM, such as a VM hosted by VirtualBox, VMWare, or Docker. 시스템 하드웨어에서 직접 Android Emulator를 실행해야 합니다.You must run the Android emulator directly on your system hardware.

Android 에뮬레이터를 시작하고 디버깅하는 방법에 대한 자세한 내용은 Android Emulator에서 디버깅을 참조하세요.For information about launching and debugging with the Android emulator, see Debugging on the Android Emulator.

Hyper-V를 사용하여 가속화Accelerating with Hyper-V

Android 에뮬레이터를 가속하려면 Hyper-V를 선택하는 것이 좋습니다.Hyper-V is the recommended choice for accelerating the Android emulator. Hyper-V를 사용하도록 설정하기 전에 다음 섹션을 읽고 컴퓨터에서 Hyper-V를 지원하는지 확인합니다.Before enabling Hyper-V, read the following section to verify that your computer supports Hyper-V.

Hyper-V에 대한 지원 확인Verifying support for Hyper-V

Hyper-V는 Windows 하이퍼바이저 플랫폼에서 실행됩니다.Hyper-V runs on the Windows Hypervisor Platform. Hyper-V와 함께 Android 에뮬레이터를 사용하려면 컴퓨터가 Windows 하이퍼바이저 플랫폼을 지원하기 위해 다음 조건을 충족해야 합니다.To use the Android emulator with Hyper-V, your computer must meet the following criteria to support the Windows Hypervisor Platform:

  • 컴퓨터 하드웨어는 다음 요구 사항을 충족해야 합니다.Your computer hardware must meet the following requirements:

    • SLAT(Second Level Address Translation)가 포함된 64비트 Intel 또는 AMD Ryzen CPU.A 64-bit Intel or AMD Ryzen CPU with Second Level Address Translation (SLAT).
    • VM 모니터 모드 확장(Intel CPU의 VT-c)에 대한 CPU 지원.CPU support for VM Monitor Mode Extension (VT-c on Intel CPUs).
    • 최소 4GB 메모리.Minimum of 4-GB memory.
  • 컴퓨터의 BIOS에서 다음 항목을 활성화해야 합니다.In your computer's BIOS, the following items must be enabled:

    • 가상화 기술(마더보드 제조업체에 따라 다른 레이블이 있을 수 있음).Virtualization Technology (may have a different label depending on motherboard manufacturer).
    • 하드웨어 강제 데이터 실행 방지.Hardware Enforced Data Execution Prevention.
  • Windows 10 2018년 4월 업데이트(빌드 1803) 이상으로 컴퓨터를 업데이트해야 합니다.Your computer must be updated to Windows 10 April 2018 update (build 1803) or later. 다음 단계를 수행하여 Windows 버전이 최신인지 확인할 수 있습니다.You can verify that your Windows version is up-to-date by using the following steps:

    1. Windows 검색 상자에 정보를 입력합니다.Enter About in the Windows search box.

    2. 검색 결과에서 사용자 PC 정보를 선택합니다.Select About your PC in the search results.

    3. 정보 대화 상자에서 Windows 사양 섹션으로 아래로 스크롤합니다.Scroll down in the About dialog to the Windows specifications section.

    4. 버전 적어도 1803인지 확인합니다.Verify that the Version is at least 1803:

      Windows 사양Windows specifications

컴퓨터 하드웨어 및 소프트웨어가 Hyper-V와 호환되는지 확인하려면 명령 프롬프트를 열고 다음 명령을 입력합니다.To verify that your computer hardware and software is compatible with Hyper-V, open a command prompt and type the following command:

systeminfo

나열된 모든 Hyper-V 요구 사항의 값이 이면 컴퓨터에서 Hyper-V를 지원할 수 있습니다.If all listed Hyper-V requirements have a value of Yes, then your computer can support Hyper-V. 예:For example:

systeminfo 출력 예제Example systeminfo output

Hyper-V 가속 사용Enabling Hyper-V acceleration

컴퓨터가 위의 조건을 충족하는 경우 다음 단계를 수행하여 Hyper-V로 Android 에뮬레이터를 가속화합니다.If your computer meets the above criteria, use the following steps to accelerate the Android emulator with Hyper-V:

  1. Windows 검색 상자에 Windows 기능을 입력하고 검색 결과에서 Windows 기능 설정 또는 해제를 선택합니다.Enter windows features in the Windows search box and select Turn Windows features on or off in the search results. Windows 기능 대화 상자에서 Hyper-VWindows 하이퍼바이저 플랫폼을 모두 활성화합니다.In the Windows Features dialog, enable both Hyper-V and Windows Hypervisor Platform:

    Hyper-V 및 Windows 하이퍼바이저 플랫폼 사용Enabling Hyper-V and Windows Hypervisor Platform

    다음과 같이 변경한 후 컴퓨터를 다시 부팅합니다.After making these changes, reboot your computer.

  2. Visual Studio 15.8 이상 설치(이 버전의 Visual Studio는 Hyper-V로 Android 에뮬레이터를 실행하기 위한 IDE 지원을 제공합니다).Install Visual Studio 15.8 or later (this version of Visual Studio provides IDE support for running the Android emulator with Hyper-V).

  3. Android Emulator 패키지 27.2.7 이상을 설치합니다.Install the Android Emulator package 27.2.7 or later. 이 패키지를 설치하려면 Visual Studio에서 도구 > Android > Android SDK Manager로 이동합니다.To install this package, navigate to Tools > Android > Android SDK Manager in Visual Studio. 도구 탭을 선택하고 Android 에뮬레이터 버전이 적어도 27.2.7인지 확인합니다.Select the Tools tab and ensure that the Android emulator version is at least 27.2.7. 또한 Android SDK Tools 버전이 26.1.1 이상인지 확인합니다.Also ensure that the Android SDK Tools version is 26.1.1 or later:

    Android SDK 및 도구 대화 상자Android SDKs and Tools dialog

가상 디바이스를 만들 때(Android Device Manager를 사용하여 가상 디바이스 관리 참조) x86 기반 시스템 이미지를 선택해야 합니다.When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select an x86-based system image. ARM 기반 시스템 이미지를 사용하면 가상 디바이스가 가속화되지 않고 느리게 실행됩니다.If you use an ARM-based system image, the virtual device will not be accelerated and will run slowly.

HAXM을 통한 가속화Accelerating with HAXM

컴퓨터에서 Hyper-V를 지원하지 않는 경우 HAXM을 사용하여 Android 에뮬레이터를 가속화합니다.Use HAXM to accelerate the Android emulator if your computer does not support Hyper-V. HAXM을 사용하려면 Device Guard를 사용하지 않도록 설정해야 합니다.You must disable Device Guard if you want to use HAXM.

HAXM 지원 확인Verifying HAXM support

하드웨어에서 HAXM을 지원하는지 확인하려면 내 프로세서가 Intel 가상화 기술을 지원하나요?의 단계를 따릅니다.To determine if your hardware supports HAXM, follow the steps in Does My Processor Support Intel Virtualization Technology?. 하드웨어에서 HAXM을 지원하는 경우 다음 단계를 수행하여 HAXM이 이미 설치되어 있는지 확인할 수 있습니다.If your hardware supports HAXM, you can check to see if HAXM is already installed by using the following steps:

  1. 명령 프롬프트 창을 열고 다음 명령을 입력합니다.Open a command prompt window and enter the following command:

    sc query intelhaxm
    
  2. 출력을 검사하여 HAXM 프로세스가 실행 중인지 확인합니다.Examine the output to see if the HAXM process is running. 그럴 경우 intelhaxm 상태가 RUNNING으로 나열된 출력이 표시되어야 합니다.if it is, you should see output listing the intelhaxm state as RUNNING. 예:For example:

    HAXM을 사용할 수 하는 경우 sc 쿼리 명령의 출력

    STATERUNNING으로 설정되어 있지 않으면 HAXM이 설치되지 않습니다.If STATE is not set to RUNNING, then HAXM is not installed.

컴퓨터에서 HAXM을 지원할 수 있지만 HAXM이 설치되지 않은 경우 다음 섹션의 단계에 따라 HAXM을 설치합니다.If your computer can support HAXM but HAXM is not installed, use the steps in the next section to install HAXM.

HAXM 설치Installing HAXM

Windows용 HAXM 설치 패키지는 Intel Hardware Accelerated Execution Manager 페이지에서 사용할 수 있습니다.HAXM install packages for Windows are available from the Intel Hardware Accelerated Execution Manager page. HAXM을 다운로드하여 설치하려면 다음 단계를 수행합니다.Use the following steps to download and install HAXM:

  1. Intel 웹 사이트에서 최신 Windows용 HAXM 가상화 엔진 설치 관리자를 다운로드합니다.From the Intel website, download the latest HAXM virtualization engine installer for Windows. Intel 웹 사이트에서 직접 HAXM 설치 프로그램을 다운로드할 경우의 장점은 최신 버전을 사용할 수 있다는 점입니다.The advantage of downloading the HAXM installer directly from the Intel website is that you can be assured of using the latest version.

  2. intelhaxm-android.exe를 실행하여 HAXM 설치 관리자를 시작합니다.Run intelhaxm-android.exe to start the HAXM installer. 설치 관리자 대화 상자에서 기본값을 적용합니다.Accept the default values in the installer dialogs:

    Intel Hardware Accelerated Execution Manager 설치 창

가상 디바이스를 만들 때(Android Device Manager를 사용하여 가상 디바이스 관리 참조) x86 기반 시스템 이미지를 선택해야 합니다.When you create a virtual device (see Managing Virtual Devices with the Android Device Manager), be sure to select an x86-based system image. ARM 기반 시스템 이미지를 사용하면 가상 디바이스가 가속화되지 않고 느리게 실행됩니다.If you use an ARM-based system image, the virtual device will not be accelerated and will run slowly.

문제 해결Troubleshooting

하드웨어 가속 문제 해결에 대한 도움말은 Android 에뮬레이터 문제 해결 가이드를 참조하세요.For help with troubleshooting hardware acceleration issues, see the Android emulator Troubleshooting guide.

macOS에서 Android 에뮬레이터 가속화Accelerating Android emulators on macOS

다음 가상화 기술은 Android 에뮬레이터를 가속화하는 데 사용할 수 있습니다.The following virtualization technologies are available for accelerating the Android emulator:

  1. Apple의 하이퍼바이저 프레임워크.Apple's Hypervisor Framework. 하이퍼바이저는 Mac에서 가상 머신을 실행할 수 있도록 하는 macOS 10.10 이상의 기능입니다.Hypervisor is a feature of macOS 10.10 and later that makes it possible to run virtual machines on a Mac.

  2. Intel의 HAXM(Hardware Accelerated Execution Manager)Intel's Hardware Accelerated Execution Manager (HAXM). HAXM은 Intel CPU를 실행하는 컴퓨터에 대한 가상화 엔진입니다.HAXM is a virtualization engine for computers running Intel CPUs.

최적의 성능을 위해 하이퍼바이저 프레임워크를 사용하여 Android 에뮬레이터를 가속화하는 것이 좋습니다.For optimum performance, it is recommended that you use the Hypervisor Framework to accelerate the Android emulator. Mac에서 하이퍼바이저 프레임워크를 사용할 수 없는 경우 HAXM을 사용할 수 있습니다.If the Hypervisor Framework is not available on your Mac, then HAXM can be used. Android 에뮬레이터는 다음 기준이 충족되는 경우 자동으로 하드웨어 가속을 사용합니다.The Android emulator will automatically make use of hardware acceleration if the following criteria are met:

  • 개발 컴퓨터에서 하드웨어 가속을 사용하고 활성화할 수 있습니다.Hardware acceleration is available and enabled on the development computer.

  • 에뮬레이터가 x86 기반 가상 디바이스를 위해 생성된 이미지를 실행 중입니다.The emulator is running a system image created for an x86-based virtual device.

중요

VM 가속화된 에뮬레이터는 VirtualBox, VMWare 또는 Docker가 호스팅하는 VM과 같은 다른 VM 내에서 실행할 수 없습니다.You can't run a VM-accelerated emulator inside another VM, such as a VM hosted by VirtualBox, VMWare, or Docker. 시스템 하드웨어에서 직접 Android Emulator를 실행해야 합니다.You must run the Android emulator directly on your system hardware.

Android 에뮬레이터를 시작하고 디버깅하는 방법에 대한 자세한 내용은 Android Emulator에서 디버깅을 참조하세요.For information about launching and debugging with the Android emulator, see Debugging on the Android Emulator.

하이퍼바이저 프레임워크를 통한 가속화Accelerating with the Hypervisor Framework

하이퍼바이저 프레임워크와 함께 Android 에뮬레이터를 사용하려면 Mac이 다음 조건을 충족해야 합니다.To use the Android emulator with the Hypervisor Framework, your Mac must meet the following criteria:

  • Mac은 macOS 10.10 이상을 실행해야 합니다.Your Mac must be running macOS 10.10 or later.

  • Mac의 CPU가 하이퍼바이저 프레임워크를 지원할 수 있어야 합니다.Your Mac's CPU must be able to support the Hypervisor Framework.

Mac이 이러한 조건을 충족하는 경우 Android 에뮬레이터는 가속을 위해 자동으로 하이퍼바이저 프레임워크를 사용합니다(HAXM이 설치된 경우에도 해당).If your Mac meets these criteria, the Android emulator will automatically use the Hypervisor Framework for acceleration (even if HAXM is installed). 하이퍼바이저 프레임워크가 Mac에서 지원되는지 확실하지 않은 경우 Mac이 하이퍼바이저를 지원하는지 확인하는 방법에 대한 문제 해결 가이드를 참조하세요.If you are not sure if Hypervisor Framework is supported on your Mac, see the Troubleshooting guide for ways to verify that your Mac supports Hypervisor.

하이퍼바이저 프레임워크가 Mac에서 지원되지 않는 경우 HAXM을 사용하여 Android 에뮬레이터를 가속화할 수 있습니다(다음 설명 참조).If the Hypervisor Framework is not supported by your Mac, you can use HAXM to accelerate the Android emulator (described next).

HAXM을 통한 가속화Accelerating with HAXM

Mac에서 하이퍼바이저 프레임워크를 지원하지 않는 경우(또는 macOS 10.10 이전 버전을 사용하는 경우) Intel의 Hardware Accelerated Execution Manager(HAXM)를 사용하여 Android 에뮬레이터 속도를 높일 수 있습니다.If your Mac does not support the Hypervisor framework (or you are using a version of macOS earlier than 10.10), you can use Intel's Hardware Accelerated Execution Manager (HAXM) to speed up the Android emulator.

HAXM과 함께 Android 에뮬레이터를 처음으로 사용하기 전에 HAXM이 설치되어 있고 사용할 Android 에뮬레이터에서 지원되는지 확인하는 것이 좋습니다.Before using the Android emulator with HAXM for the first time, it's a good idea to verify that HAXM is installed and available for the Android emulator to use.

HAXM 지원 확인Verifying HAXM support

다음 단계를 수행하여 HAXM이 이미 설치되어 있는지 확인할 수 있습니다.You can check to see if HAXM is already installed by using the following steps:

  1. 터미널을 열고 다음 명령을 입력합니다.Open a Terminal and enter the following command:

    ~/Library/Developer/Xamarin/android-sdk-macosx/tools/emulator -accel-check
    

    이 명령은 Android SDK가 ~/Library/Developer/Xamarin/android-sdk-macosx의 기본 위치에 설치되어 있다고 가정합니다. 그렇지 않은 경우 Mac에서 Android SDK의 위치에 대한 위의 경로를 수정합니다.This command assumes that the Android SDK is installed at the default location of ~/Library/Developer/Xamarin/android-sdk-macosx; if not, modify the above path for the location of the Android SDK on your Mac.

  2. HAXM이 설치된 경우 위의 명령은 다음 결과와 유사한 메시지를 반환합니다.If HAXM is installed, the above command will return a message similar to the following result:

    HAXM version 7.2.0 (3) is installed and usable.
    

    HAXM이 설치되지 않은 경우 다음 출력과 유사한 메시지가 반환됩니다.If HAXM is not installed, a message similar to the following output is returned:

    HAXM is not installed on this machine (/dev/HAX is missing).
    

HAXM이 설치되지 않은 경우 다음 섹션의 단계에 따라 HAXM을 설치하세요.If HAXM is not installed, use the steps in the next section to install HAXM.

HAXM 설치Installing HAXM

macOS용 HAXM 설치 패키지는 Intel Hardware Accelerated Execution Manager 페이지에서 사용할 수 있습니다.HAXM installation packages for macOS are available from the Intel Hardware Accelerated Execution Manager page. HAXM을 다운로드하여 설치하려면 다음 단계를 수행합니다.Use the following steps to download and install HAXM:

  1. Intel 웹 사이트에서 최신 macOS용 HAXM 가상화 엔진 설치 관리자를 다운로드합니다.From the Intel website, download the latest HAXM virtualization engine installer for macOS.

  2. HAXM 설치 관리자를 실행합니다.Run the HAXM installer. 설치 관리자 대화 상자에서 기본값을 적용합니다.Accept the default values in the installer dialogs:

    Intel Hardware Accelerated Execution Manager 설치 창Intel Hardware Accelerated Execution Manager Setup window

문제 해결Troubleshooting

하드웨어 가속 문제 해결에 대한 도움말은 Android 에뮬레이터 문제 해결 가이드를 참조하세요.For help with troubleshooting hardware acceleration issues, see the Android emulator Troubleshooting guide.