v0.1.23: msb jemalloc allocator (fix host RSS balloon)

Bumps the vendored msb to use jemalloc as its global allocator. On
many-core hosts glibc's per-thread malloc arenas (8*ncpu, 64 MiB each)
are retained and never returned to the OS under the sandbox supervisor's
Rust worker-thread churn (virtio-fs / block / blocking pools), ballooning
host RSS to 10-20+ GiB even for a `--memory 4` sandbox — the guest RAM is
a separate, correctly-capped mapping. jemalloc (background_threads on)
purges freed pages back to the OS, so host RSS tracks the live set.

Submodule bump: vendor/microsandbox -> msb-jemalloc-v0123 (jemalloc-only
diff on the v0.1.22 base). Verified: a fresh sandbox under heavy file/exec
churn held 0 glibc 64-MiB arenas at ~300 MiB RSS vs a live glibc sandbox
at 408 arenas / 5.2 GiB.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Evgeny Boger 2026-06-02 00:45:40 +03:00
parent c3fda73ab1
commit b2cadc56d8
3 changed files with 3 additions and 3 deletions

2
Cargo.lock generated
View file

@ -21,7 +21,7 @@ dependencies = [
[[package]]
name = "agent-vm"
version = "0.1.22"
version = "0.1.23"
dependencies = [
"anyhow",
"base64",

View file

@ -6,7 +6,7 @@ members = ["crates/agent-vm"]
exclude = ["vendor/microsandbox"]
[workspace.package]
version = "0.1.22"
version = "0.1.23"
edition = "2024"
license = "MIT"
repository = "https://github.com/wirenboard/agent-vm"

2
vendor/microsandbox vendored

@ -1 +1 @@
Subproject commit 62afcdfef9e44e4f9008b7c69d733151b930b53e
Subproject commit 702f52ade6a3e9f4d2ac3f55b0bd46f027f01178