[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#595711: new bug description



I found one more very interesting feature of this bug: 

When memory overcommitment is disabled, system shall not be in state
when OOM killer is called. (Only 'EOM' for greedy application).

But with this kernel OOM is still appear, even no overcommitment
happens.

Steps to reproduce:

mem=1GiB
maxmem=16GiB
disable swap.

After VM boot:

sysctl vm.overcommit_memory=2
vm.overcommit_memory = 2

python
a=" "*1024*1024*128
b=" "*1024*1024*128
c=" "*1024*1024*128
Killed

dmesg

[  108.601023] python invoked oom-killer: gfp_mask=0x1280d2, order=0,
oomkilladj=0
[  108.601044] Pid: 1574, comm: python Not tainted 2.6.26-2-xen-686 #1
[  108.601051]  [<c0150d96>] oom_kill_process+0x4f/0x1bb
[  108.601062]  [<c0125118>] __capable+0x8/0x1b
[  108.601069]  [<c0151237>] out_of_memory+0x14e/0x17f
[  108.601075]  [<c0153285>] __alloc_pages_internal+0x2b8/0x34e
[  108.601085]  [<c0153327>] __alloc_pages+0x7/0x9
[  108.601090]  [<c015e83c>] handle_mm_fault+0x299/0xda5
[  108.601097]  [<c0131916>] hrtimer_run_pending+0x19/0xf7
[  108.601107]  [<c0126312>] run_timer_softirq+0x30/0x1c8
[  108.601112]  [<c010eaf3>] do_page_fault+0x605/0xb2e
[  108.601121]  [<c0122e08>] do_softirq+0x51/0x76
[  108.601126]  [<c0105b05>] do_IRQ+0x52/0x65
[  108.601133]  [<c023dba3>] evtchn_do_upcall+0xfa/0x191
[  108.601139]  [<c010e4ee>] do_page_fault+0x0/0xb2e
[  108.601145]  [<c02cc6ad>] error_code+0x35/0x3c
[  108.601154]  [<c02c0000>] setup_cpu_cache+0x4/0x11f
[  108.601163]  =======================
[  108.601166] Mem-info:
[  108.601168] DMA per-cpu:
[  108.601173] CPU    0: hi:    0, btch:   1 usd:   0
[  108.601177] Normal per-cpu:
[  108.601180] CPU    0: hi:  186, btch:  31 usd: 161
[  108.601185] HighMem per-cpu:
[  108.601188] CPU    0: hi:  186, btch:  31 usd:  97
[  108.601192] Active:92875 inactive:123 dirty:0 writeback:0 unstable:0
[  108.601193]  free:128300 slab:1223 mapped:0 pagetables:0 bounce:0
[  108.601202] DMA free:12320kB min:72kB low:88kB high:108kB active:0kB
inactive:0kB present:16256kB pages_scanned:0 all_unreclaimable? yes
[  108.601210] lowmem_reserve[]: 0 706 16240 16240
[  108.601218] Normal free:500372kB min:3364kB low:4204kB high:5044kB
active:66296kB inactive:116kB present:723392kB pages_scanned:114955
all_unreclaimable? yes
[  108.601227] lowmem_reserve[]: 0 0 124269 124269
[  108.601237] HighMem free:508kB min:512kB low:19004kB high:37500kB
active:305204kB inactive:376kB present:15906496kB pages_scanned:678120
all_unreclaimable? yes
[  108.601244] lowmem_reserve[]: 0 0 0 0
[  108.601252] DMA: 0*4kB 2*8kB 1*16kB 0*32kB 2*64kB 1*128kB 1*256kB
1*512kB 1*1024kB 1*2048kB 2*4096kB = 12320kB
[  108.601269] Normal: 195*4kB 58*8kB 29*16kB 17*32kB 11*64kB 0*128kB
1*256kB 3*512kB 2*1024kB 3*2048kB 119*4096kB = 500364kB
[  108.601289] HighMem: 2*4kB 13*8kB 2*16kB 1*32kB 1*64kB 0*128kB
1*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 496kB
[  108.601306] 183 total pagecache pages
[  108.601311] Swap cache: add 0, delete 0, find 0/0
[  108.601315] Free swap  = 0kB
[  108.601317] Total swap = 0kB
[  108.636184] 4194304 pages of RAM
[  108.636196] 4007936 pages of HIGHMEM
[  108.636199] 38231 reserved pages
[  108.636201] 69 pages shared
[  108.636203] 0 pages swap cached
[  108.636206] 0 pages dirty
[  108.636208] 0 pages writeback
[  108.636211] 0 pages mapped
[  108.636213] 1223 pages slab
[  108.636215] 0 pages pagetables
[  108.636225] Out of memory: kill process 1574 (python) score 6255 or a
child
[  108.636236] Killed process 1574 (python)



AFAIK in normal system no OOM shall be when overcommitment is disabled.
I recheck behavior on normal kernel and it was fine (just MemoryErrors)
from python.





Reply to: