test(evidence): Pixel 6a device-exact memory-policy acceptance soak (#11734, refs #11760) - #11908
Conversation
…11734, refs #11760) Hardware-lab acceptance row for the inference memory policy merged in PR #11822, on real Pixel 6a hardware (serial 27051JEGR10034, MemTotal 5589MB -> CONSTRAINED, nCtx=4096, idleUnloadMs=300000, no debug overrides), build 35f61d1 md5-verified on device after evicting a foreign APK a sibling session had installed. - 12.1 min foregrounded soak, 10/10 real local-inference turns (mobile-local-direct-reply, 52-58s warm, 95s cold first load) - 4 pressure releases observed: PSS 2.16->0.28GB, GL mtrack 1.60->0.05GB per release, MemAvailable ~0.7->2.0GB; released state held for the entire 7-min idle leg - transparent reload after each release: 58s turn (~+4s vs warm) - lmkd killed 48 processes across 27 other packages in the window; ai.elizaos.app killed 0 times, pid stable, exit-info before/after byte-identical (no new LOW_MEMORY of the main process) - key device-exact finding: the CONSTRAINED pressure lever (availMem < lmkThreshold+512MB = 728MB) structurally preempts the 300s idle lever on this device profile; idle firing remains covered by the emulator soak + JVM unit tests Verdict: PASS. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Evidence-only PR: the hardware-lab acceptance row for the on-device inference memory policy (merged in #11822), run device-exact on real Pixel 6a hardware. Closes the residual soak requirement of #11734.
What this adds
.github/issue-evidence/11760-inference-memory-policy/pixel6a-device-soak/— README + raw captures. No product code changes.Setup
bluejay, serial27051JEGR10034), MemTotal 5589 MB → measuredramClass=CONSTRAINED,nCtx=4096,idleUnloadMs=300000— default knobs, no debug-prop overrides (unlike the emulator run in the parent evidence dir).35f61d1f(fix(local-inference): RAM-class inference-memory policy — idle unload + pressure release so lmkd stops killing the app (#11760) #11822), APK md5b260d860…verified byte-identical on device (raw/run2-pkg-verify.txt) — after detecting and evicting a foreign 413 MB APK a sibling session had force-installed.ElizaAgent/ElizaBionicInferlines), app foregrounded the whole window, real turns viaPOST /v1/chat/completions(localInference.provider=mobile-local-direct-replyon every reply).Results
ai.elizaos.appkilled 0 times, pid 30062 stable throughout.LOW_MEMORYof the main process (pre-existing WebView sandboxed-process entries predate the window and are unchanged).Key device-exact finding
On this hardware the CONSTRAINED pressure lever (
availMem < lmkThreshold + 512 MB = 728 MB) structurally preempts the 300 s idle lever: with the model resident, ambient MemAvailable sits inside the pressure margin, so the 30 s tick releases between turns. All four releases werememory-pressure; the idle lever never fired on-device (it remains covered by the emulator soak + JVM unit tests). Cost measured: ≈ +4 s per post-release turn; benefit: ~1.9 GB PSS / 1.5 GB GL mtrack returned to the system between turns — which is why lmkd reaped 27 other packages and never ours.Verdict
PASS — full acceptance table, methodology, timeline tables, and honest limitations (including the predecessor's interrupted partial run, kept as supplementary raw files) in the README.
🤖 Generated with Claude Code