Re: process hangs on do_exit when oom happens
From: Qiang Gao <hidden>
Date: 2012-10-23 09:10:09
Also in:
linux-mm, linux-mmc, lkml
global-oom is the right thing to do. but oom-killed-process hanging on do_exit is not the normal behavior On Tue, Oct 23, 2012 at 5:01 PM, Sha Zhengju [off-list ref] wrote:
On 10/23/2012 11:35 AM, Qiang Gao wrote:quoted
information about the system is in the attach file "information.txt" I can not reproduce it in the upstream 3.6.0 kernel.. On Sat, Oct 20, 2012 at 12:04 AM, Michal Hocko[off-list ref] wrote:quoted
On Wed 17-10-12 18:23:34, gaoqiang wrote:quoted
I looked up nothing useful with google,so I'm here for help.. when this happens: I use memcg to limit the memory use of a process,and when the memcg cgroup was out of memory, the process was oom-killed however,it cannot really complete the exiting. here is the some informationHow many tasks are in the group and what kind of memory do they use? Is it possible that you were hit by the same issue as described in 79dfdacc memcg: make oom_lock 0 and 1 based rather than counter.quoted
OS version: centos6.2 2.6.32.220.7.1Your kernel is quite old and you should be probably asking your distribution to help you out. There were many fixes since 2.6.32. Are you able to reproduce the same issue with the current vanila kernel?quoted
/proc/pid/stack --------------------------------------------------------------- [<ffffffff810597ca>] __cond_resched+0x2a/0x40 [<ffffffff81121569>] unmap_vmas+0xb49/0xb70 [<ffffffff8112822e>] exit_mmap+0x7e/0x140 [<ffffffff8105b078>] mmput+0x58/0x110 [<ffffffff81061aad>] exit_mm+0x11d/0x160 [<ffffffff81061c9d>] do_exit+0x1ad/0x860 [<ffffffff81062391>] do_group_exit+0x41/0xb0 [<ffffffff81077cd8>] get_signal_to_deliver+0x1e8/0x430 [<ffffffff8100a4c4>] do_notify_resume+0xf4/0x8b0 [<ffffffff8100b281>] int_signal+0x12/0x17 [<ffffffffffffffff>] 0xffffffffffffffffThis looks strange because this is just an exit part which shouldn't deadlock or anything. Is this stack stable? Have you tried to take check it more times?Does the machine only have about 700M memory? I also find something in the log file: Node 0 DMA free:2772kB min:72kB low:88kB high:108kB present:15312kB.. lowmem_reserve[]: 0 674 674 674 Node 0 DMA32 free:*3172kB* min:3284kB low:4104kB high:4924kB present:690712kB .. lowmem_reserve[]: 0 0 0 0 0 pages in swap cache Swap cache stats: add 0, delete 0, find 0/0 Free swap = 0kB Total swap = 0kB 179184 pages RAM ==> 179184 * 4 / 1024 = *700M* 6773 pages reserved Note that the free memory of DMA32(3172KB) is lower than min watermark, which means the global is under pressure now. What's more the swap is off, so the global oom is normal behavior. Thanks, Sha
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>