OOM 机制

When a system runs out of memory, the OOM killer makes a decision about what process to kill base on its own policy. First, it chooses the process which currently owns the most memory to kill. By this policy, it is expected that the process which owns the most memory is the malfunction one. But in my case, even after getting all the remaining available memory of system, the malfunction process is still not a process who held biggest amount of memory, then it happended that the OOM killer killed the process which own most memory, not the malfunction one.

So, now I know that when system log show "Out of memory: kill process <process id>", it doesn't mean that this <process-id> causes the system runs out of memory.

你可能感兴趣的:(oom)