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

Reply via email to