Vorsicht: Tödliches Oracle unter Linux
Ich krieg mich nicht mehr. Als erstes hab ich da erst mal gelästert von wegen: “Applikation stirbt weil es dem Oracle Platz wegnimmt.”
Dann hab ich allerdings das Kernel Log mal aufmerksam ganz durchgelesen und bin über ein interessantes Feature der Linux-Distribution gestoßen: Dem oom-killer:
Sep 18 18:47:01 pbv kernel: oracle invoked oom-killer: gfp_mask=0×201d2, order=0, oomkilladj=0
Sep 18 18:47:25 pbv kernel: Out of memory: Killed process 7795 (java).
Ihr seht also: Niemals sich mit den ‘Großen’ anlegen!
- Update:
/* * oom_badness - calculate a numeric value for how bad this task has been * @p: task struct of which task we should calculate * @p: current uptime in seconds * * The formula used is relatively simple and documented inline in the * function. The main rationale is that we want to select a good task * to kill when we run out of memory. * * Good in this context means that: * 1) we lose the minimum amount of work done * 2) we recover a large amount of memory * 3) we don't kill anything innocent of eating tons of memory * 4) we want to kill the minimum amount of processes (one) * 5) we try to kill the process the user expects us to kill, this * algorithm has been meticulously tuned to meet the principle * of least surprise ... (be careful when you change it) */


