Colima 优化

我在 MacBook Pro 15" Late 2013 旧笔记本上只能使用 macOS Big Sur v11,安装的Colima运行容器感觉有以下不足:

  • 磁盘IO缓慢,在执行一些IO密集的操作时感觉进程时不时D住

  • 编译 Sphinx文档 时耗时很长

sphinx文档在colima容器中make耗时
$ time make clean
...
real    0m42.451s
user    0m0.825s
sys     0m4.749s

$ time make html
...
real    14m13.402s
user    6m17.649s
sys     0m33.973s

Apple Virtualization

因为硬件限制,这个11年前的旧笔记本只能运行macOS v11,虽然macOS v11已经内置了 Apple Virtualization ,但是 Lima: Linux Machines 使用的 EFILoader 功能只有macOS v13开始提供,所以Lima官方文档 Lima VM types 申明在 macOS v13 提供 VZ 选项。

不过, GitHub: lima-vm/lima Support for Virtualization.framework #923 讨论中,lima的vz核心开发解释了 VZ 简介 是支持macOS Big Sur的。我理解 Lima: Linux Machines 需要macOS 13的高级特性所以放弃了低版本macOS支持,所以需要自己定制 vz - Apple Virtualization.framework 的Go实现 来替换 Lima 核心 实现Big Sur上使用 Apple Virtualization VZ性能优化。

hvf 加速

macOS Big Sur v11 中运行的 QEMU 会自动使用 hvf 加速( qemu 运行参数中有 -machine q35,accel=hvf )。根据 QEMU 文档 qemu Features/HVF :

  • hvf 是一个稳定功能,但是缺乏一些特性