RUN-A-NODE: banda de heap masurata iar la 8,4 milioane (2400m intra in colaps de colectare, 3400m zero colectari complete)

This commit is contained in:
Aere Network 2026-09-11 19:02:55 +03:00
parent 7d40356aeb
commit ba7f09d46d

View File

@ -173,6 +173,14 @@ because the answer changes with the height:
| 2400m | 6-8 M | no OOM at all | ~82,000 | | 2400m | 6-8 M | no OOM at all | ~82,000 |
| 2400m | past 9.2 M | old generation 99.88% full, 1,409 full GCs, 19 minutes in GC | ~640 | | 2400m | past 9.2 M | old generation 99.88% full, 1,409 full GCs, 19 minutes in GC | ~640 |
| 3400m | past 9.7 M | **zero** full GCs, 6 seconds of GC in total | ~28,800 | | 3400m | past 9.7 M | **zero** full GCs, 6 seconds of GC in total | ~28,800 |
| 2400m | ~8.4 M, measured 2026-09-11 | old generation 99.97% full, 1,073 full GCs, 26 minutes in GC, 49 `OutOfMemoryError` | ~120 |
| 3400m | ~8.5 M, measured 2026-09-11 | **zero** full GCs | ~9,000 |
**The band moves down as the chain grows, so read the dates in that table.** The 2400m row measured on 2026-09-06 held from
six to eight million blocks; the same flag on 2026-09-11, at 8.4 million and on a 7.9 GB machine, was already in full-GC collapse,
because the storage engine's working set had grown with the chain in between. Do not copy a number out of this table and hope. Use
the symptom instead, it is the same on any day: full GCs climbing while the height barely moves means the heap is too SMALL, and
`OutOfMemoryError` in the log means it is too LARGE for what the database also needs beside it.
Two things are going on, and they pull in opposite directions. **Heap is not memory**: the storage Two things are going on, and they pull in opposite directions. **Heap is not memory**: the storage
engine keeps its block cache and write buffers OUTSIDE the Java heap, and past six million blocks that engine keeps its block cache and write buffers OUTSIDE the Java heap, and past six million blocks that