Hasty Briefsbeta

双语

Apple Silicon and Virtual Machines: Beating the 2 VM Limit (2023)

6 days ago
  • #macOS Kernel
  • #Apple Silicon
  • #Virtualization
  • Apple Silicon 主机因 SLA 限制,每次最多只能运行两个 macOS 客户虚拟机。
  • 虚拟机限制检查在内核(XNU)中执行,而非用户空间,具体位于 hv_vm_* 函数内。
  • 启动参数 hv_apple_isa_vm_quota 可覆盖虚拟机限制,但需要启动开发内核或修改发行版内核。
  • 要使用此覆盖功能,必须创建并启动开发内核集合,这涉及下载内核调试工具包并在恢复操作系统中配置系统等步骤。
  • 配置后,UTM 或 VMware 等虚拟化解决方案可以运行超过两个 macOS 虚拟机,测试显示最多可同时运行九个虚拟机。
  • 此功能自 macOS Monterey 起就已存在,但未公开记录,仅供内部使用。
  • 使用自定义内核集合会禁用简化的操作系统更新,需要恢复到原厂内核才能继续更新。
  • 未来的潜在改进包括自动化内核集合流程,以及开发一个内核扩展来覆盖虚拟机配额,无需自定义内核。