Ulimit: védekezés az "Out of memory" hibaüzenet ellen

Terméktámogatási adatbázis (mfrueh_ulimit)
Következőkre vonatkozik

SuSE Linux: Minden verzió

Probléma

Néhány alkalmazást futtat (a legtöbben X alatt). Sajnos a merevlemez nagyon intenzíven kezd működni, a számítógép lelassul, aztán "lefagy". A gép ebben az állapotban maradhat percekig, de akár órákig is.

Oka

Minden esetben és reprodukálhatatlan módon jelentkezik, néhány alkalmazás hibásan úgy lett megírva, hogy megpróbálja az összes felhasználható memóriát lefoglalni. Éppen ezért nem marad felhasználható memória a többi folyamat számára és a számítógép leáll.

Megoldás

Használja a ulimit parancsot az alkalmazások által lefoglalható memóriaméret megadásához. Néhány egyéb paraméter együtt használható az ulimit-tel. A leggyakrabban használt esetek a fizikai vagy virtuális memória korlátozások. Adja a következő sorokat a .bashrc fájlhoz:
# a fizikai memória limitálásához:
ulimit -m xxxxx

# a virtuális memória limitálásához:
ulimit -v xxxxx
Természetesen az xxxxx helyére a kívánt értéket kell beírni a géptől függően. Egy 128 MB RAM memóriával és 128 MB cserepartícióval rendelkező gép esetén például ez az érték 98304. Mivel az értékek az ulimit számára kilobájtban adhatók meg, ez 96 MB-nak (96 x 1024 = 98304) felel meg. Kisérletezzen a rendszerének legjobban megfelelő érték megadásával. Az ulimit leállít minden olyan folyamatot, amely túllépi a megadott memóriakeretet. Ez bizony adatvesztési kockázattal jár, de végeredményben a rendszer él és virul. Természetesen az ulimit használata nélkül is fennáll az adatvesztés veszélye, hiszen egy leállt rendszer reset általi újraindítása ezzel jár együtt ;-)
Kulcsszavak: BASH, MEMORY, NETSCAPE, ULIMIT, KEVéS MEMóRIA

Kategóriák:

SDB-mfrueh_ulimit, Copyright SuSE Linux AG, Nürnberg, Germany - Verzió: 03. Jul 2002
SuSE Linux AG - Utoljára frissítve: 25. Jul 2002 feladó: comp (sdb_gen 1.40.0)