BW Application Crashing/Killed byLinux out-of-memory (OOM) killer.

BW Application Crashing/Killed byLinux out-of-memory (OOM) killer.

book

Article ID: KB0085095

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Description:
Operating system started killing process. /var/log/messages log file has the following entry.

Mar  9 15:07:03 1paspterh64a1 kernel: java invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0, oom_score_adj=0
Mar  9 15:07:06 1paspterh64a1 kernel: [<ffffffff8111d192>] ? oom_kill_process+0x82/0x2a0
Mar  9 15:07:06 1paspterh64a1 kernel: Out of memory: Kill process 27841 (java) score 104 or sacrifice child
Mar  9 15:07:06 1paspterh64a1 kernel: Killed process 27841, UID 0, (java) total-vm:3005852kB, anon-rss:307424kB, file-rss:84kB
Mar  9 15:07:06 1paspterh64a1 kernel: java invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0, oom_score_adj=0
Mar  9 15:07:06 1paspterh64a1 kernel: [<ffffffff8111d192>] ? oom_kill_process+0x82/0x2a0
Mar  9 15:07:07 1paspterh64a1 kernel: Out of memory: Kill process 27843 (java) score 104 or sacrifice child
Mar  9 15:07:07 1paspterh64a1 kernel: Killed process 27843, UID 0, (java) total-vm:3005852kB, anon-rss:307448kB, file-rss:76kB

Symptoms:
Process killed suddenly and there is no memory dump created. 

/var/log/messages log file has the following entry:

Mar  9 15:07:03 1paspterh64a1 kernel: java invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0, oom_score_adj=0


Cause:
This is caused by a Linux out-of-memory (OOM) killer.

Issue/Introduction

BW Application Crashing/Killed byLinux out-of-memory (OOM) killer.

Resolution

Follow either one of the following steps to overcome the issue. This is an operating system level feature and it is not possible to control it from an application.

1). Increase RAM (physical memory). This would give additional room for the engine to run.


2). Decrease the heapsize of the engine. When out-of-memory (OOM) killer is triggered, this process may survive though other processes may suffer.


3). Change the overcommit_memory setting to 2. This will make sure that the process is getting enough memory before starting. This will provide a stable environment but will limit you to run only few applications. 

A user would need to decide where the trade off should occur based on their business need. Either they can take the risk and run more applications by over committing or run few applications by enforcing a hard limit. 

Additional Information

http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html
https://plumbr.eu/blog/memory-leaks/out-of-memory-kill-process-or-sacrifice-child
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Performance_Tuning_Guide/s-memory-captun.html