gVisor (Google) provides isolation by intercepting syscalls in a userspace kernel—lightweight but with some syscall compatibility limitations. BoxLite runs a real Linux kernel in a hardware VM—complete compatibility but slightly higher overhead. Choose gVisor for container hardening when you control the workload; choose BoxLite when you need guaranteed Linux compatibility or hardware-level isolation.
| Feature | BoxLite | gVisor |
|---|---|---|
| Isolation Method | Hardware virtualization | Userspace kernel (Sentry) |
| Developer | BoxLite Labs | |
| Linux Kernel | Real kernel per VM | Emulated (Sentry) |
| Syscall Compatibility | 100% (real kernel) | ~70% of syscalls |
| Startup Time | <1 second | <200ms |
| Memory Overhead | ~50-100MB | ~15-30MB |
| Daemon Required | No | runsc process |
| Docker Integration | Native OCI | Via Docker runtime |
| macOS Support | Yes (Apple Silicon) | No (Linux only) |
| Best For | Untrusted code, full compatibility | Container hardening |
gVisor is an application kernel, written in Go, that implements a substantial portion of the Linux system call interface. When a container runs under gVisor:
This means even if an attacker exploits a kernel vulnerability, they're exploiting gVisor's userspace kernel—not the host kernel.
BoxLite uses hardware virtualization (KVM on Linux, Hypervisor.framework on macOS) to run each sandbox in a real micro-VM:
The trade-off is slightly higher overhead (separate kernel per sandbox) in exchange for complete compatibility and a simpler security model.
gVisor's biggest limitation is syscall compatibility. While gVisor implements ~70% of Linux syscalls, some applications fail because they use unsupported or partially-supported syscalls.
Known compatibility issues with gVisor include:
With BoxLite, there's no compatibility question—if it runs on Linux, it runs in BoxLite. The sandbox has a real kernel with full syscall support.
gVisor has two platform modes that affect performance:
BoxLite always uses hardware virtualization (KVM/Hypervisor.framework), which provides good syscall performance but adds VM boot overhead.
General guidance:
Both provide strong isolation, but with different approaches:
Potentially! You could run gVisor-protected containers inside BoxLite VMs for defense-in-depth. However, this adds overhead and complexity. In practice, choose the one that fits your needs:
gVisor and BoxLite represent two philosophies for container security:
If you're hardening known workloads and want minimal overhead, gVisor is excellent. If you're running arbitrary code and need guaranteed compatibility, BoxLite's hardware isolation is the safer bet.
Get hardware-isolated sandboxing with full Linux compatibility.