2022년 4월 25일 월요일

Apple M1 pro , QEMU에서 amd64 / arm64 Linux 실행 비교

## Prerequisites

시작하기 전에 qemu 및 utm을 설치하십시오. 후자는 필요하지 않지만 편리하게 사용할 수 있습니다. Homebrew를 설치했다고 가정합니다.

> $ brew install qemu utm


## VM 설정

utm을 시작하고 "새 VM 만들기"를 원하는 이름으로 지정합니다.

드라이브로 이동하여 최소 10GB 크기의 드라이브를 만드십시오. 그런 다음 디스크를 가져와서 선택한 배포판에서 부팅 가능한 ISO를 추가합니다.


## System 설정

아키텍처: x86_64

시스템: 표준 PC(Q35....)(q35)

메모리: 2048MB 이상(2048MB 사용)

고급 설정:

CPU: qemu64 대 Skylake-Client 대 …

CPU 코어: 4개 이상(저는 8개 사용)

Force Multicore: ✅ (이는 상당한 성능 향상을 제공합니다)


## OS 설치

ISO 이미지에서 부팅한 후 디스크에 OS를 설치합니다. 완료되면 시스템을 중지하고 드라이브에서 ISO를 제거하고 새 VM을 부팅합니다. 가지고 놀 준비가 되었습니다.


## 벤치마크

맥북 M1 pro , 32GB 램, qemu + utm

Guest system: Ubuntu 20.04 (최소 설치)

> sysbench cpu --threads=2 


## Summary

sysbench cpu --threads=2 run

  • native (macOS): ~24 Mio events per second
  • Skylake-Client (default): ~500 events per second 👎
  • qemu64-v1: ~1500 events per second
  • qemu64~1500 events per second 👍
  • qemu64 + ssse3,sse4.1,sse4.2: ~1450 events per second
  • Penryn: ~1500 events per second
  • Penryn + ssse3,sse4.1,sse4.2: ~1400 events per second
  • Haswell: ~500 events per second 👎
  • EPYC: ~1400 events per second
  • kvm64: ~1500 events per second
  • phenom: ~1400 events per second
  • Nehalem: ~1400 events per second
  • Dhyana: ~500 events per second 👎
  • Opteron_G5: — does not work
  • cortex-a72 (default): ~16200 events per second


## With Docker Or Lima

  • docker run -it --rm --platform=linux/amd64 ubuntu : ~550 events per second
  • docker run -it --rm ubuntu : (arm64) ~550 events per second ‼️
  • lima (arm64): ~20200 events per second 🤘
  • lima (x86_64): ~260 events per second
  • lima container (arm64 container in arm64 VM): ~21000 events per second 🤘
  • lima container (x86_64 container in arm64 VM): ~570 events per second


댓글 없음:

댓글 쓰기