ホームCLIsmol-machines/smolvm
// archived 2026-04-19
smol-machines

smolvm

Infra#Virtualization#MicroVM#Linux#CLI#OCI
GitHub で見る →
179

// 概要

smolvm は、サブ秒でのコールドスタートと柔軟なメモリ使用を実現するカスタム Linux 仮想マシンを管理・実行するための CLI ツールです。ワークロードに対してハードウェアレベルの分離を提供しつつ、ステートフルなマシンをポータブルなファイルにパッケージ化してクロスプラットフォームでの実行を可能にします。本ツールは OCI 準拠のイメージをサポートしており、SSH agent forwarding や再現可能な環境設定といった高度な機能も備えています。

// 技術解説

smolvm は、ハードウェアで分離された Linux 仮想マシンを 1 秒未満の起動時間と柔軟なメモリ管理で提供するために設計された CLI ツールです。macOS 上の Hypervisor.framework や Linux 上の KVM といったネイティブなハイパーバイザーと libkrun を活用することで、強力なセキュリティ境界を維持しつつ、従来のコンテナランタイムに代わる軽量な選択肢を提供します。このプロジェクトは移植性と開発者体験を重視しており、ユーザーはステートフルな環境を単一ファイルのアーティファクトにパッケージ化し、バックグラウンドデーモンを必要とせずに異なるホストプラットフォーム間で一貫して実行できます。

// 主要ハイライト

01
特殊なハイパーバイザーベースのアーキテクチャを活用し、1 秒未満のコールドスタートと 200ms 未満の起動時間を実現します。
02
信頼できないコードに対してハードウェアレベルの分離を提供し、ハイパーバイザーの境界を通じてホストのファイルシステムと認証情報を保護します。
03
OCI 準拠のイメージをサポートしており、Docker デーモンを必要とせずにレジストリから標準的なコンテナイメージをプルして実行できます。
04
すべての依存関係を含むポータブルで自己完結型の .smolmachine バイナリを作成でき、環境間で一貫した実行が可能です。
05
virtio ballooning を介した柔軟なメモリ使用を特徴としており、ホストはゲスト VM が実際に使用するリソースのみを消費します。
06
安全な SSH agent forwarding を許可し、秘密鍵をゲスト環境に公開することなく、VM がホスト側の鍵を使用して git 操作を行えるようにします。

// ユースケース

01
ハードウェアレベルの分離による信頼できないコードのサンドボックス化
02
ワークロードをポータブルで自己完結型の実行ファイルにパッケージ化
03
再現可能な設定を用いた永続的な開発環境の管理

// クイックスタート

開始するには、macOS または Linux 用に提供されている curl スクリプトを使用してツールをインストールするか、GitHub の releases ページからバイナリをダウンロードしてください。インストールが完了したら、「smolvm machine run」コマンドを使用して一時的なワークロードを実行するか、「Smolfile」設定を使用して永続的な環境を定義できます。「smolvm --help」を使用して、すべてのコマンドセットを確認し、仮想マシンを管理してください。