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