Sunday, 24 May 2015

Oracle Killer Process (OOM)

Out of Memory (OOM) refers to a computing state where all available memory, including swap space, has been allocated. Normally this will cause the system to

panic and stop functioning as expected. There is a switch that controls OOM behavior in /proc/sys/vm/panic_on_oom. When set to 1 the kernel will panic on

OOM. A setting of 0 instructs the kernel to call a function named oom_killer, oom_killer can kill rogue processes and the system will survive and this is

what happened in your case.

To resolve to avoid that the oracle process get killed you can:

1- disable the OOM killer

$ echo 1 > /proc/sys/vm/panic_on_oom

but in this case the system will continue using memory and swap until it hang

2- Disable the oom_killer for the oracle's process, you need to find the PID of the oracle's process and change the special value from 0 to -17

$ echo -17 > /proc/<PID number>/oom_adj

You can do it once a time for all oracle processes using this command:

$ for i in `ps ax | awk '/oracle/ {print $1}' `; do echo -17 > /proc/$i/oom_adj ; done

Better to avoid this solution as it can kill some other important process

3- The third and best solution is to increase system memory.

For the error message it seem that it's because you are trying to mount a Windows share using a locked account
Jun  1 15:10:01 idub-lux-nod1 kernel:  CIFS VFS: Send error in SessSetup = -13
Jun  1 15:10:01 idub-lux-nod1 kernel:  CIFS VFS: cifs_mount failed w/return code = -13
Jun  1 15:10:01 idub-lux-nod1 kernel: smb_proc_readdir_long: error=-13, breaking
Jun  1 15:10:02 idub-lux-nod1 kernel: Status code returned 0xc0000234 NT_STATUS_ACCOUNT_LOCKED_OUT

No comments:

Post a Comment