Linux a zabijeni procesu pri nedostatku pameti

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Červenec 7 21:47:24 CEST 2003


On Sun, 6 Jul 2003 navlist na centrum.cz wrote:

> Swap pouzivam (disk na jinem kabelu, jen udma2 misto udma6 hlavniho) 
> o velikosti mezi 120-200MiB (nejsem si jist).

To neni moc chytre. Swap by obecne mel byt na nejrychlejsim dostupnem
zarizeni (a take obecne neskodi, kdyz je spis vetsi nez mensi).

> Spise nez fakt ze mi Mozilla obcas padne - preci jen bezela par hodin,
> a 3 tech 6ti tabletu se co minutu obnovovaly - (znam to i z jinych
> prohlizecu ;),

Mozilla umi bezet i nekolik tydnu v kuse. Pravda je, ze nemam zadne
pluginy (zvlaste ten flashovy je pekny zmetek) a mam temer porad vypnuty
Jabbascript (pun intended).

Je treba najit koren problem a zjistit, zda a proc se Mozilla dostane do
stavu, kdy spolkne prehnane velke mnozstvi pameti. Mozna jste narazil na
nejaky memory leak, ktery je treba zesilen tim opakovanym reloadovanim
nekterych stranek (roste objem Mozilly prubezne?).

> me desi to ze si jadro zabiji procesy, misto aby jim (jak jsem doposud
> predpokladal) oznamilo nedostatek pameti.

V prvni rade zkontrolujte, jestli mate nulu
v /proc/sys/vm/overcommit_memory, protoze pak se jadro aspon trochu
snazi, aby nepridelovalo vic pameti, nez je k dispozici (i kdyz ted
koukam, ze to nekontrolujte pri forku...hmmm).

Jinak by samozrejme bylo hezke, kdyby se nedostatek pameti oznamoval jinak
nez zabitim nejvetsiho zrouta, ale v praxi je to spojeno s ruznymi
obtizemi (napr. je treba velmi pesimisticky predem alokovat prostor ve
swapu) a take je pravda, ze vetsina programu neni schopna nedostatek
pameti osetrit jinak, nez ze proste skonci, protoze nemame dost vrahu,
kteri by za to trest naprogramovali lepe a radostneji (nemluve o tom,
ze nektere alokace, napr. zvetsovani zasobniku, se zasadne deji
implicitne, tj. pres nejaky vypadek stranky, tj. z hlediska beziciho
programu tam proste neni nejaka  operace, co by mohla normalnim zpusobem
selhat).


--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