Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Last week an user application turns out to hog one of my servers. It was exhausting the memory gradually and slowly. When I attempted to kill -9 PID the PID went in state D. While this was eating the server's memory and it was by far the most memory-hungry process, I decided to try alternative approach - using OOM_Killer. So, I increased oom_adj to 15 and the oom_score of this PID jumped up. However, no action from the OOM_Killer. I have few questions:

  1. Would OOM_Killer kill a process if SIGKILL couldn't?;
  2. At what amount of available memory the OOM_Killer runs (at what point of available memory less than X it executes)? Does it wait until the available memory reaches the kernel reserved one (64KB IIRC)?;
  3. How to benefit from OOM_Killer, invoking it manually or forcing it to run sooner?

Just for the record - the server is Ubuntu 9.10, kernel 2.6.31. Thank you!

share|improve this question
1  
AFAICR, you can invoke OOM_Killer using Magic-SysRq. –  Hubert Kario Oct 9 '11 at 23:30
2  
SIGKILL didn't fail, the process went to exit and was stuck trying to retrieve all its pages from swap. You could verify this by checking the disk busy and watching swap usage page activity while it was in D. Also by seeing what its state is in top or ps axwwule. –  polynomial Oct 10 '11 at 2:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.