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)