mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[GH-ISSUE #260] Sandbox create throughput halves as the serial log directory grows #70
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#70
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @makhov on GitHub (Sep 7, 2026).
Original GitHub issue: https://github.com/kvcache-ai/AgentENV/issues/260
Affected component or operation
Sandbox creation / boot
Regression summary
The persistent serial-output root,
{serial_dir}/(default$AENV_HOME/logs/serial), receives one subdirectory per sandbox and nothing ever prunes it. Sandbox create throughput on a node therefore decays with the node's uptime: every create links a new entry into a directory that only grows.Measured on one node under sustained create load: at ~594k entries in the root it sustained 197–280 creates/sec. With the root emptied and nothing else changed, the same node sustained 460–475 creates/sec at 76–78% CPU — ~1.9×. Under that load the root grew at ~470 entries/sec.
Nearly every one of those subdirectories holds a single zero-byte
firecracker-stderr.log: a guest resumed from a snapshot writes nothing to the console. So the cost is not in writing serial output, it is in linking the directory entry under an exclusive lock on the parent inode — and it falls on every create, whether or not anyone ever reads a log.User impact: a node silently loses roughly half its create throughput as it ages, with no error, no log line, and no metric pointing at the cause. It presents as general degradation.
Compared versions
2d766447261a7252447fe8bccef2e87d48ece5a653e4061bed1e8a6d0205550e20274a68311e1fe5Host and workload
{serial_dir}set to a persistent host path, which is the configuration the docs describe; local ext4-family filesystem.Benchmark command and procedure
Results
Throughput was recorded as a steady-state range over the measurement window rather than as a percentile distribution, so treat these as ranges, not distributions.
The inverse correlation between root size and peak create rate held across all four nodes in the fleet at the time the problem was found (size column is disk usage of the tree):
Raw data
Profiles and diagnostics
No response
Measurement checklist