Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Kam se poděla paměť?

jam
jam (neregistrovaný)
1. 8. 2002 8:44 Nový

jak tu "nepouzitou" pamet uvolnit?

celé vlákno

ocenil bych moznost ty nepopsany stranky pameti uvolnit, protoze sposty programku (mozilla, xmm, atp.) naswapuje pamet kterou pouzije jednou, pak ji vyprazni, ale uz ji nevrati systemu, takze postupne zere a zere. kdyz ukoncim napr. tu mozillu, tak se nic nedeje ani po nekolika hodinach.

jr
jr (neregistrovaný)
1. 8. 2002 9:37 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

Od tohoto článku jsem, upřímně řečeno, také čekal nějaký popis, jak takto obsazenou paměť uvolnit, vzhledem k nadpisu.
Automatické uvolňování segmentů paměti, které byly nějakým programem naalokovány jako sdílené, ale které po skončení tohoto programu zůstávají alokované a nepřiřazené žádnému programu, takže užírají dostupnou paměť, umí, pokud vím, OpenWall patch do kernelu (http://www.openwall.com/linux); konkrétně jeho volba "Destroy shared memory segments not in use". Některé špatně napsané programy však na této vlastnosti stavěly, takže s touto volbou zapnutou zřejmě přestanou fungovat.
Pokud jde o uvolnění kousků paměti, naalokovaných programem pomocí rodiny funkcí malloc(), ale neuvolněných před jeho ukončením pomocí free(), nebo způsob, jak stanovit horní mez dostupné volné paměti, kterou systém využívá jako cache, to bohužel také nevím. Pokud někdo víte, jak tyto záležitosti řešit, podělte se prosím o zkušenosti...

Michal Kwolek
Michal Kwolek (neregistrovaný)
1. 8. 2002 12:18 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

Tento clanek se prece venuje necemu jinemu nez uvolnovani pameti vyhnite sdilene pameti nybrz zjisteni skutecneho stavu volne pameti (tedy po odecteni vsech bufferu atd. naopak sdilena pamet tam musi zapocitat)
Asi jsem mel zvolit vystiznenjsi, mene bulvarni nazev. Omlouvam se.

Jinak reseni problemu, ktery zminujete AFAIK neexistuje. Sdilena pamet totiz musi prezit i obdobi, kdy na ni neni zadny odkaz. Pokud Vami zminovany patch takovou pamet uvolnuje a pak neco prestane fungovat - je to vina toho patche a ne programu. Jdo o vyuziti jedne z vlastnosti sdilene pameti a ne o vylozene nejakou prasackou programatorskou praktiku.

Edheldil
Edheldil (neregistrovaný)
1. 8. 2002 14:22 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

A co treba "man ipcrm" ? :-)

frodo
frodo (neregistrovaný)
1. 8. 2002 18:18 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

nebo man ipcs :)

Michal Kwolek
Michal Kwolek (neregistrovaný)
1. 8. 2002 10:17 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

K uvolnovani slab poolu:
Uvolnovat tu pamet ani vlastne neni potreba - uvolni automaticky pokud nejaky proces zazada o pamet a zadna fyzicka neni k dispozici (zjednodusene receno). Jedine pokud potrebujete vyrazne zvyhodnit diskovou cache oproti slab. To se pak ale spis oplati rovnou omezit velikost jednotlivych slab poolu pomoci zapisu do /proc/slabinfo (viz man slabinfo). Slab pool JE uzitecny a beze sporu zvysuje vykonnost systemu proto bych se nesnazil jej nejak umele omezovat stejne jako se asi jen malokdo rozhodne omezit diskovou cache jen z duvodu ze "opticky zere pamet". Pamet se ma vyuzivat efektivne, kdyz je volna pak se o efektivni vyuziti nejedna. Obcas se ale hodi vedet, kolik je skutecne obsazeno a k tomu prave slouzi rfree.

Problematika uvolnovani sdilene pameti, o kterou Vam pravdepodobne v tomto pripade jde, by si zaslouzila jiste pozornost ja jsem se ovsem nesetkal s tim, zeby se jadro nebo nejaky program choval v tomto ohledu nekorektne.

jam
jam (neregistrovaný)
1. 8. 2002 11:27 Nový

rfree pro bsd bylo: .."nepouzitou" pamet uvolnit?

celé vlákno

dekuju za vysvetleni, ale v tom pripade jak zjistit realnou volnou pamet pod *BSD, v techto systemech je ponekud jine /proc. tz. existuje jiny systemovy nastroj jak se dopatrat k volne pameti?

Jirka
Jirka (neregistrovaný)
5. 8. 2002 10:28 Nový

Re: jak tu "nepouzitou" pamet uvolnit?

celé vlákno

dobry den,
pokud je mi znamo tak system spravy pameti funguje v linuxu obecne tak ze pozira a pozira (logicky protoze pote je start a provozovani opetovne rychlejsi) a v okamziku kdy jiz pamet nedostacuje proste uvolni nepouzivane procesy pripadne swapuje...
ale mozna se mylim. kazdopadne tim by se vas problem s vyprazdnovanim stal zbytecny .))
mejte se fajn.

Hopsinka
Hopsinka (neregistrovaný)
1. 8. 2002 15:44 Nový

Podobny problem na sunu

celé vlákno

Zdravim. Mam podobny problem v solarisu, kde je k dispozici pouze top a ps ktere mi davaji rozdilne vysledky a nejak
se nemuzu dopatrat ktery z techto dvou vytecniku keca. Mate nekdo nejake zkusenosti s jinou utilitou pro solaris ? Nas sunik ma 2xCPU.

Gilhad
Gilhad (neregistrovaný)
1. 8. 2002 16:40 Nový

Buffers ...

celé vlákno

V EXPERIMENTALNI rade 2.5.xxx je asi od 2.5.13? vyhozena polozka Buffers v /proc/meminfo .. Narazil jsem na to nahodou, kdyz mi kvuli tomu padal jeden programek (KTimeMon, abych nejmenoval) ... Mozna to bude nekoho zajimat ..

Michal Kwolek
Michal Kwolek (neregistrovaný)
2. 8. 2002 8:22 Nový

Verze 0.2

celé vlákno

Dekuji vsem za zaslani slabinfa z vasich SMP masinek. Diky vasi pomoci vznikla verze 0.2
Changelog:
- Podpora SMP
- long long promenne pro podporu 32bit stroju s velkou pameti
- Tar se nyni rozbali do noveho adresare a ne na miste :-)

http://miho.webpark.cz/rfree.tar (10 KiB)

Neni zabaleny pac se to webparku nejak nelibilo :-(

Michal Kwolek
Michal Kwolek (neregistrovaný)
13. 8. 2002 10:12 Nový

Verze 0.3

celé vlákno

http://miho.webpark.cz

Podporuje slabinfo statistiky a SMP. Ted schazi uz jen stare kernely (2.0, 2.2 nevim kdy presne se to menilo, pokud mate komp s jadrem 2.0.? zaslete mi prosim /proc/slabinfo)

Zasílat nově přidané příspěvky e-mailem