Zabíjení procesů (Was: Re: Uživatelská přítulnost Linuxu)
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Čtvrtek Květen 11 20:26:58 CEST 2000
On Thu, 11 May 2000, Martin `MJ' Mares wrote:
> > Jak kdy. Kdyz selze mmap() nebo brk() (pouziva to vubec jeste nekdo?), tak
> > malloc() vrati nulu. Kdyz ale dojde k tomu, ze nelze pres copy-on-write
> > alokovat dalsi stranku, resp. nelze zvetsit zasobnik, tak SIGKILL.
>
> Mimochodem, ne SIGKILL ale SIGBUS :)
To byvalo. Driv totiz metoda nopage u vma neumela navratovou hodnotou
rozlisit, jestli selhala kvuli nedostatku pameti, nebo z jinych duvodu,
takze vsechna selhani nopage zpusobovaly SIGBUS (a nedostatek pameti
vetsinou nastal tady) misto volani oom() a SIGKILL. V novych verzich jadra
je to "opraveno".
On Thu, 11 May 2000, Petr Tesarik wrote:
> BTW tohle je důsledek onoho opěvovaného rychlého fork(). Rozumíte,
> kdyby fork() opravdu kopíroval ty stránky, tak při nedostatku paměti
> selže ten fork(), ne že se potom zabíjí ten proces. :O
Bullshit. Neni potreba ty stranky hned kopirovat, stacilo by si je
rezervovat. Otazka ale je, jestli je takovy krajne pesimisticky pristup
(forknuty potomek by ten prostor malokdy vyuzil) idealni.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux