I can see from the docs for IgniteConfiguration that some properties
auto-size based on visible OS resources. In docker, "visible" ends up being
the host values, which will exceed any CPU/memory limits applied via
cgroups to the container.

I see on
IgniteConfiguration.DataStorageConfiguration.DataRegionConfiguration the
properties initialSize and maxSize, which I've set substantially lower than
the container memory allocation, which helped avoid being killed due to
exceeding memory limits, but I'm still seeing the oom reaper kick in
occasionally. Am I missing some other configuration value that controls
off-heap memory use?

I've set the DataRegionConfiguration initial/max size to 16GB, the JVM heap
to 8GB, and the container is currently allocated 32GB, which seems more
than enough for OS and other ancillary uses. In case relevant, I've enabled
persistence, and set the relevant CacheConfiguration to partitioned mode
with backups=2 and writeSynchronizationMode=full_sync. Running Ignite
2.5.0, Oracle JDK 8u172.

Thanks!
Andrew.

Reply via email to