苹果芯片性能强功耗低,但是虚拟机作为计算机常用软件,大多数虚拟软件在苹果芯片上仅支持原生架构(ARM)的虚拟机。然而,常用的开发环境是属于x86架构的。那么,如何在苹果芯片上运行不同架构的虚拟机呢?

UTM​​​​​​底层基于QEMU实现,可以通过指令转译运行不同架构的系统,这里给出如何通过UTM安装ubuntu18.04-server的教程:

  1. 官网下载UTM
  2. 下载ubuntu18.04-server.iso
  3. 在UTM上新建虚拟机
  4. 设置内存与cpu,默认的内存比较小,建议拉大一点
  5. 在硬盘设置添加iso文件作为cd/dvd驱动,再添加一块nvme的硬盘,大小自选
  6. 启动虚拟机,根据传统安装步骤完成(大约要1小时,比x86原生慢不少)
  7. 安装完成后,在设置中移除iso驱动,然后就可以启动虚拟机了

安装完成后,这里也做了简单的性能测试。在R7-4800H的机器上(原生x86架构)virtualbox虚拟机ubuntu18server运行以下程序需要0.17s,在m1 pro(macbook pro 14乞丐版)上运行以下程序需要0.25s。虚拟机配置均为4G RAM,4核CPU。

#include //compile with -O0int main(){    for(int i=0;i<100000000;i++) ;}

同样的配置,测浮点数,R7-4800H需要0.40s,m1 pro需要3.0s。性能损耗达到了650%

#include //compile with -O0int main(){float k=0.000001;for(int i=0;i<100000000;i++)k*=1.000001;}

运行速度只能说还能接受,由于现代的cpu足够快,大多数小程序感受不出运行速度的差距。这里还安装并测试了apache2,访问网页也十分流畅。

PS: 建议不要用UTM自带的UI和VM交互,不知道为何十分卡顿,建议通过ssh连接。