Published by Sean Carr
Running Agent Memory in Under 500 MB RAM on ARM64
Resource profiling across Windows, WSL, and Linux ARM64: running complete session memory and symbol search in 440 MB.
At a Glance
Peak Query RAM
322 MB
Full-path ask2 memory retrieval peaked at 322 MB during vector scoring and session joins.
Resident Search Service
113 MB
Resident symbol index service consumed 113 MB RAM caching 32,649 symbols across 51k lines.
Total RAM Envelope
440 MB (<11%)
Combined runtime consumes 0.44 GB, occupying under 11% of a standard 4 GB RAM budget.
Process Cleanup Latency
0.053 s
Process-tree kill latency dropped from 3.05 s to 0.053 s (57x faster cleanup on Linux).
| Telemetry Metric | Measured Value | Context & Observability |
|---|---|---|
| Peak Query RAM | 322 MB | Full-path ask2 memory retrieval peaked at 322 MB during vector scoring and session joins. |
| Resident Search Service | 113 MB | Resident symbol index service consumed 113 MB RAM caching 32,649 symbols across 51k lines. |
| Total RAM Envelope | 440 MB (<11%) | Combined runtime consumes 0.44 GB, occupying under 11% of a standard 4 GB RAM budget. |
| Process Cleanup Latency | 0.053 s | Process-tree kill latency dropped from 3.05 s to 0.053 s (57x faster cleanup on Linux). |
Published by Sean Carr
View & print executive brief version →Executive Summary & Core Finding
Can production-grade agent memory and code search run unobtrusively on developer laptops and low-power ARM64 single-board computers? Across cross-platform profiling on Windows 11, WSL x86_64, and Linux ARM64, we verified that full session memory and symbol search run comfortably in 440 MB of RAM with sub-50ms process cleanup.
Method
Benchmarked memory footprint across Windows 11, Linux WSL x86_64, and Linux ARM64 environments.
Profiled peak RSS memory during full-corpus session memory queries (ask2) across 16,200 indexed development events.
Measured resident memory of the codekit symbol concordance daemon caching 32,649 AST symbols across 1,619 repository files.
Tracked git hook process spawn latency and child process tree termination timing under timeout conditions.
What We Measured
Memory residency and execution latencies across platforms
Peak Query RAM
322 MB
Full-path ask2 memory retrieval peaked at 322 MB during vector scoring and session joins.
Resident Search Service
113 MB
Resident symbol index service consumed 113 MB RAM caching 32,649 symbols across 51k lines.
Total RAM Envelope
440 MB (<11%)
Combined runtime consumes 0.44 GB, occupying under 11% of a standard 4 GB RAM budget.
Process Cleanup Latency
0.053 s
Process-tree kill latency dropped from 3.05 s to 0.053 s (57x faster cleanup on Linux).
Experimental Notes & Observability Details
- Detached git hook spawning architecture decoupled standard input and launched background audit logging in under 20 ms.
- Zero-model deterministic pointer routing executed in 750 ms under cold-start conditions.
What We Think It Suggests
- Autonomous developer tooling can maintain resident symbol indexing and memory retrieval within modest resource boundaries suitable for edge nodes and small developer machines.
- Detaching background hook execution prevents developer interactive friction while preserving comprehensive task logging.
Limits
- Workload scale: Benchmarked against 16,200 memory events and 32,649 symbols; enterprise monorepos with hundreds of thousands of events will require SQLite sharding or tiered eviction.
- ARM64 environment: Measured on emulated and physical ARM64 environments; distinct memory bus controllers on varied SoC architectures will produce differing memory latency.
Detailed Analysis & Field Observations
Developer tooling must be lightweight. If an agent's memory daemon or code search engine consumes 4 GB of RAM and spins fans during compilation, developers will disable it immediately. For edge deployment on ARM64 nodes, total background resource consumption must remain well under 1 GB.
Across our engineering rounds, we benchmarked and hardened our unified tooling suite, comprising selfmem (session memory and hand-off logging) and codekit (symbol concordance search and completion verification), across Windows 11, Linux WSL x86_64, and native Linux ARM64.
Memory instrumentation revealed that the entire runtime operates comfortably within low-power hardware limits. A full-pipeline memory query across 16,200 stored development events peaked at 322 MB of RAM. The resident symbol index service, caching 32,649 symbols across 51,000 lines of code, consumed 113 MB. Together, the combined runtime consumes approximately 0.44 GB, occupying just 11% of a standard 4 GB RAM budget.
Background hook performance was similarly optimized. Developers cannot tolerate perceptible delays during git operations; our detached hook spawning architecture decouples stdin and spawns background tasks in under 20 ms. On Windows, median no-op hook execution was 0.05 seconds. Furthermore, we addressed process-tree termination under timeout conditions: on Linux, closing child process trees dropped from 3.05 seconds down to 0.053 seconds, a 57x cleanup acceleration that prevents orphaned zombie processes.
These measurements confirm that robust multi-session agent governance and instant code retrieval do not require heavyweight infrastructure, but can execute comfortably on consumer hardware.