Вам всегда нужно оставлять немного свободного места на память для накладных расходов при разливе памяти. Если по какой-либо причине контейнер превышает память, либо из вашего приложения, из вашего двоичного файла какой-либо системы сбора мусора, он будет убит. Например, это часто встречается в приложениях Java, где вы указываете кучу и вам нужны дополнительные издержки для сборщика мусора и других вещей, таких как:
- Родной JRE
- Пермь / метапространство
- Байт-код JIT
- JNI
- NIO
- Тема
Этот блог объясняет некоторые из них.