Hi,

I‘m trying to configure our Artemis cluster nodes in such a way that it won‘t 
get oom-killed by Linux kernel, but instead paging would occur. Most of the 
times it works, however after considerable periods of paging sometimes we get:

Jan 07 19:02:11 activemq-artemis-node-1 kernel: 
oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/activemq.service,task=java,pid=4086,uid=1001
Jan 07 19:02:11 activemq-artemis-node-1 kernel: Out of memory: Killed process 
4086 (java) total-vm:4939656kB, anon-rss:2627224kB, file-rss:0kB, 
shmem-rss:0kB, UID:1001 pgtables:5588kB oom_score_adj:0

Full oom-killer dump https://p.defau.lt/?HayAcFR8RRDrVZZAlav4IA

Artemis nodes are using standard JVM options coming from official distribution: 
-Xms512M -Xmx2G . They run in dedicated virtual hosts which have 4GB assigned. 
Nothing else runs on those boxes. global-max-size is not set so occupies 1G.

Just wondering, how JVM heap sizes should be configured in relation to 
available RAM? I found just this vague description 
https://activemq.apache.org/components/artemis/documentation/latest/perf-tuning.html#tuning-the-vm
 but nothing concrete. There is also a question of JVM Direct Memory and other 
memory sectors which are not controlled by heap settings. Does Artemis use 
those and what is recommended ratios for them?

--
   Best Regards,

    Vilius Šumskas
    Rivile
    IT manager

Reply via email to