memory
- Simulate a cold start without rebooting or drop_caches
Evict one file from the Linux page cache as a normal user with posix_fadvise, prove it with fincore, and start a container that reads it cold.
- A text search OOM-killed the whole tmux pane
Eight lines of Python searched a scratch dir, met a 2.7 GB model and needed about 23 GB to read it as text. systemd then stopped the rest of the pane.
- Six OOMs and a Connection Pool
A Spring Boot imperative app OOM'd six different ways at 256MB. Each HTTP client swap revealed what was actually eating the heap.
- -Xmx Won't Save Your Native Image
JAVA_TOOL_OPTIONS is a no-op on a native binary. The 256MB OOM that docker stats couldn't see.
- Your JVM Reports 151 MB. Your Container Uses 248.
151 MB. That's what micrometer-prometheus reports for the JVM at 256 MB after serving 1.66 million requests. Heap 35 MB, metaspace 72 MB, compressed class space 13 MB, code cache 16 MB, direct buffers 0.75 MB. Add it up. 137 MB. Rounded generously: 151 MB with …
- 107 MB of Invisible JVM RAM
Prometheus says 137 MB. Docker says 244 MiB. /proc/PID/smaps is the only witness that doesn't lie. The Discrepancy#JVM at 256 MB, Serial GC, after serving 1.66 million requests. Measured at idle: Docker stats: 244.2 MiB / 256 MiB (95.38%) Prometheus reports: …