Jeroen T. Vermeulen wrote:
>
>After that, where do you go?  Try to find a reasonable process to shoot
>in the head.  From what I heard, although I haven't kept current, a lot
>of work went into selecting a "reasonable" process, so there will be some
>determinism.

FWIW, you can browse the logic linux uses to choose 
which process to kill here:
  http://lxr.linux.no/source/mm/oom_kill.c

If I read that right, this calculates "points" for each process, where:
   points = vm_size_of_process 
            / sqrt(cpu_time_it_ran)
            / sqrt(sqrt(clock_time_it_had)
            * 2 if the process was niced
            / 4 if the process ran a root
            / 4 if the process had hardware access.
and whichever process has the most points dies.

I'm guessing any database backend (postgres, oracle)
that wasn't part of a long-lived connection seems like 
an especially attractive target to this algorithm.  

(Though hopefully it's all moot now that Andrew / Tom
 found/recommended the paranoid overcommit option, which
 sure seems like the most sane thing for a server to me)

   Ron

PS: Oracle DBAs suffer from the same pain. 
  http://www.cs.helsinki.fi/linux/linux-kernel/2001-12/0098.html
  http://www.ussg.iu.edu/hypermail/linux/kernel/0103.3/0094.html



---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to