Re: Zagniezdzenie na stale programu -- da sie?
  Home FAQ Contact Sign in
pl.comp.os.linux.programowanie only
 
Advanced search
POPULAR GROUPS

more...

 Up
Re: Zagniezdzenie na stale programu -- da sie?         

Group: pl.comp.os.linux.programowanie · Group Profile
Author: Jaros³aw Siebert
Date: Mar 5, 2008 23:59

Hoobert wrote:
>> Hmm dziwne. IMHO program w user space nie powinien spowodować takiego
>> zwisu. Ja miałem podobny przypadek z SuSE: kompletny zwis, zamrożone
>> wszystko. Po tugodniu debugowania okazało się, że winny jest driver
>> karty 100Mb o czym zresztą znalazłem w necie.
>> Tak więc ta VM Javy trochę mi nie pasuje tutaj.
>
> Cofam pierwszą część wypowiedzi :). Banalny program typu
> while(1) {
> int *w=new int[1000];
> for(int i=0;i<1000;i++) w[i]=i;
> }
> wiesza Linuxa (FedorkÄ™) na amen.
>
> Poszukam czy nie ma jakiś ustawień regulujących podsystem zarządzania
> pamięcią ale ciekawie to nie wygląda. Kiedyś próbowałem specjalnie
> zajechać Solarisa 9 i zawsze w końcu proces dostawał kill'a (fakt, że
> system ledwo zipał mieląc swapem), ale zawsze pozbywał się
> niewdzięcznego procesu.
> Trochę to dziwne bo wyobrażam sobie, że wątki odpowiadające za
> zarządzanie pamięcią chodzą na SCHED_FIFO lub SCHED_RR i CPU usage nie
> powinno być problemem. Same zaś powinny niby sprawdzać rozmiar stery per
> proces i jak co to "do widzenia".
>
domyslnie kernel powinien ubic taki proces - to, ze fedora tego nie robi,
oznacza ze zostala tak skonfigurowana.
U mnie nic od instalacji systemu nie zmenialem w ustawieniach kernela
(archlinux) i powyzszy program zachowuje sie tak:
[y0g1@siebert ~]$ time ./kill
Unicestwiony

real 0m6.859s
user 0m0.847s
sys 0m0.670s
[y0g1@siebert ~]$

w logach:
knode invoked oom-killer: gfp_mask=0x1201d2, order=0, oomkilladj=0
Pid: 6670, comm: knode Tainted: P 2.6.24-ARCH #1
[] oom_kill_process+0x10a/0x120
[] out_of_memory+0x167/0x1a0
[] __alloc_pages+0x32c/0x360
[] __do_page_cache_readahead+0x137/0x260
[] sync_page+0x0/0x40
[] do_page_cache_readahead+0x4c/0x70
[] filemap_fault+0x2db/0x480
[] __do_fault+0x5f/0x400
[] handle_mm_fault+0x11d/0x6d0
[] sock_aio_write+0x0/0x100
[] do_page_fault+0xef/0x670
[] sys_select+0x194/0x1b0
[] do_page_fault+0x0/0x670
[] error_code+0x72/0x78
=======================
Mem-info:
DMA per-cpu:
CPU 0: Hot: hi: 0, btch: 1 usd: 0 Cold: hi: 0, btch: 1 usd:
0
Normal per-cpu:
CPU 0: Hot: hi: 186, btch: 31 usd: 161 Cold: hi: 62, btch: 15 usd:
14
Active:105996 inactive:1367 dirty:0 writeback:0 unstable:0
free:1085 slab:1782 mapped:858 pagetables:387 bounce:0
DMA free:1800kB min:96kB low:120kB high:144kB active:10392kB inactive:0kB
presen
t:16256kB pages_scanned:15752 all_unreclaimable? yes
lowmem_reserve[]: 0 427 427 427
Normal free:2540kB min:2592kB low:3240kB high:3888kB active:413592kB
inactive:54
68kB present:437836kB pages_scanned:673910 all_unreclaimable? yes
lowmem_reserve[]: 0 0 0 0
DMA: 0*4kB 1*8kB 0*16kB 0*32kB 0*64kB 0*128kB 1*256kB 1*512kB 1*1024kB
0*2048kB
0*4096kB = 1800kB
Normal: 22*4kB 0*8kB 1*16kB 0*32kB 0*64kB 1*128kB 1*256kB 0*512kB 0*1024kB
1*204
8kB 0*4096kB = 2536kB
Swap cache: add 0, delete 0, find 0/0, race 0+0
Free swap = 0kB
Total swap = 0kB
Free swap: 0kB
114416 pages of RAM
0 pages of HIGHMEM
2061 reserved pages
16280 pages shared
0 pages swap cached
0 pages dirty
0 pages writeback
858 pages mapped
1782 pages slab
387 pages pagetables
Out of memory: kill process 6683 (kill) score 93281 or a child
Killed process 6683 (kill)

--
.: DLJ PROJECT :.
.: Jarosław Siebert :.
........: jsiebert@poczta.wp.pl :.........
.: Lru: 255615 | tel: 603877428 | Gg: 560046:.
no comments
diggit! del.icio.us! reddit!