首页 AI编程工具 Smolvm:开发者Rust自研轻量级虚拟机,仅128MB开源部署甩开QEMU

Smolvm:开发者Rust自研轻量级虚拟机,仅128MB开源部署甩开QEMU

📅 2026/6/6 👁 阅读 20 🔗 工具访问 0 次
Smolvm:开发者Rust自研轻量级虚拟机,仅128MB开源部署甩开QEMU

工具地址

https://github.com/smol-machines/smolvm

🚀 访问工具

做 CI/CD 或者跑微服务的时候,你大概率用过 QEMU。但它太重了——启动十几秒起步,资源吃不少,有时只想跑个简单的环境测试一下,也得等半天。

Smolvm 是 Rust 写的轻量级虚拟机,Apache-2.0 开源,GitHub 上刚发布就冲了 3.5k+ stars,Hacker News 拿了 499 points。冷启动不到 200ms,镜像体积才 128MB 左右,二进制压缩后也就 30MB——跟 QEMU 比完全不是一个量级。

简单说就是一个「亚秒级启动」的 VM,适合开发者做 CI/CD、边缘计算、沙箱隔离这些场景。

Smolvm 轻量虚拟机封面

是什么

Smolvm 是一套 CLI 工具,用 Rust 写的 VMM(虚拟化监视器)。它不跑完整的操作系统,而是用 libkrun 作为底层虚拟化库,配合精简内核,让你能以极快速度启动微型虚拟机。

冷启动 < 200ms —— 从执行命令到 VM 就绪不到一秒。对比 QEMU 的 15-30 秒,体验差距巨大。

128MB 镜像 —— 基于 Alpine Linux 极简镜像,整个 VM 镜像轻到可以塞进内存。二进制压缩后 ~30MB。

跨平台 —— macOS 用 Hypervisor.framework,Linux 用 KVM。同一套 .smolmachine 映像文件跨平台运行。

库式架构 —— 不像 QEMU 是一个庞大的守护进程,Smolvm 的运行时通过库直接链接,不需要 daemon 在后台跑着。

弹性内存 —— VM 只用它实际需要的内存,不是 QEMU 那样一次性分配固定大小。

核心优势:为什么说甩开 QEMU

启动速度是根本差距。 QEMU 每次启动要加载 BIOS、内核、驱动、初始化整个系统,15 秒都是快的。Smolvm 用 libkrun 的精简内核 + 直接 KVM 接入,200ms 内 VM 就能用。这在 CI/CD 场景下是颠覆性的——每次构建不再浪费几十秒等虚拟机启动。

资源占用不是一个量级。 QEMU 跑一个最小 Linux 镜像大概要 256MB+ 内存,磁盘占用更大。Smolvm 的 Alpine 基础镜像 128MB,按需分配内存,跑起来更省。

开箱即用的可移植性。 .smolmachine 格式打包了完整的 VM 配置 + 磁盘镜像。你在 macOS 上打包的镜像可以直接扔到 Linux 服务器上跑,不用调任何参数。QEMU 的跨平台兼容靠各种命令行参数来调,不同平台命令行都不一样。

CLI 体验现代化。 一条命令启动 VM,不用记一堆 -m、-smp、-drive、-netdev 参数。smolvm run 就完事。

安装使用

安装很简单:

brew install smol-machines/tap/smolvm # macOS
cargo install smolvm # 任意平台

启动一个 VM:

smolvm init --name my-vm # 初始化
smolvm run my-vm # 启动

想快速测试:

smolvm run alpine:latest # 直接拉镜像跑

不到一秒 VM 就跑起来了。

不是没有槽点

项目太新。 Smolvm 出来才半年左右,v1.0.1 就是昨天发的。API 稳定性、社区生态都还在早期阶段。你敢在生产环境大规模上用吗?目前不太敢。

网络功能有限。 目前只支持 TCP/UDP 转发,ICMP(ping)不支持。如果你需要完整的网络栈模拟,QEMU 还是更成熟。

macOS 需要签名。 因为用了 Hypervisor.framework,macOS 上需要先签名才能跑。多了一步配置步骤。

GLIBC 兼容问题。 基于 Alpine 的镜像用 musl libc,有些依赖 GLIBC 的二进制跑不了。得自己额外处理。

没有 QEMU 的生态。 QEMU 二十年的积累,支持几乎所有架构、外设、网络模型。Smolvm 目前只针对 x86_64 和 aarch64。功能丰富度远不如。

跟同类怎么比

vs QEMU: QEMU 是瑞士军刀,什么都支持但重。Smolvm 是手术刀,轻快但功能有限。需要完整系统模拟 → QEMU。需要快速启动微 VM 做 CI/CD → Smolvm。

vs Firecracker(AWS): Firecracker 也是轻量微 VM,但主要用于 AWS Lambda/Fargate 这种大规模多租户场景。Smolvm 更面向个人开发者和本地开发场景,CLI 更友好。

一句话: Smolvm 不是为了取代 QEMU,而是填补 QEMU 太重的那部分场景。如果你经常因为等虚拟机启动而烦躁,Smolvm 会很对你胃口。

GitHub:https://github.com/smol-machines/smolvm
官方网站:https://smolvm.dev

标签:#Smolvm #轻量虚拟机 #Rust #QEMU #CI/CD #微VM #开发者工具 #开源

💬 评论区 (0 条评论)

暂无评论,快来发表第一条评论吧!

📤 分享这篇文章

📌 相关推荐

微信扫码分享

打开微信扫一扫