Hi guys, I am not aware that it is possible to run JVM in "allocation-free" fashion. If you know that it is possible please share it. As I know JVM allocates memory out of garbage collectable area for internal purposes like JIT, GC itself. Also native built-it code can request memory allocation from OS, e.g. zip facilities. If we imagine that system is running under memory allocation which is close to a limit then even small allocation request can fail and lead to OOM killing.
But I think that a simple and useful thing that could be done first is making an experiment. As Andrey mentioned > AFAIK, Ignite always pre-touch first region. So, you can try to set region > MAX size equal to MIN and get region allocated on node start. If it is so then it should not be hard to launch Ignite and observe it running very close to OS memory limit with Java heap and Ignite off-heap pre-touched. After that one could check whether it is possible to observe Ignite OOM killed. Let's say my bet is that it is relatively easy to catch OOM here. What do you think? пт, 26 окт. 2018 г. в 18:18, Yakov Zhdanov <yzhda...@apache.org>: > Andrey, > > Probability of a OOM kill will be much lower if offheap is pretouched. What > do you mean by JVM internal needs? In my understanding if user enables > option to pretouch heap and fixes the heap to prevent jvm releasing memory > back to OS, then OOM killing is very unlikely. > > I would agree that pretouch for offheap may be helpful in many cases. > > --Yakov > -- Best regards, Ivan Pavlukhin