Phil Bull
philbull@gmail.com 2011
Michael Hill
mdhillca@gmail.com 2011, 2014
Egy folyamat memóriatérképe segíthet bizonyos memóriaproblémák diagnosztizálásában.
Kelemen Gábor
kelemeng at gnome dot hu 2014, 2017.
Meskó Balázs
mesko dot balazs at fsf dot hu 2021.

# Mi az a memóriatérkép?

A virtuális memória a fizikai memória és a csereterület egyesített ábrázolása a rendszeren. Ez a fizikai memóriában lévő helyek lemezen lévő fájlokra való leképezésével lehetővé teszi a folyamatoknak, hogy a meglévő fizikai memóriánál többet érjenek el.

Ha egy program elindul, akkor a rendszer egy egyéni folyamatazonosítót (PID) rendel hozzá, és az utasításai és az adatai lapokkéntbetöltésre kerülnek a memóriába. Az összes folyamat oldaltáblája képezi le a virtuális memória lapjait a fizikai memóriabeli helyükre. A memóriatérkép megjeleníti a folyamat teljes virtuálismemória-használatát, és használatával megállapítható a program egy vagy több példányának memóriaköltsége, ellenőrizhető a megfelelő megosztott programkönyvtárak használata, illetve a program esetlegesen elérhető teljesítményhangolási paramétereinek hatása, vagy felismerhetők a memóriaszivárgáshoz hasonló problémák.

Ha egy program több példánya fut, akkor a program műveleteit (vagy szövegét) csak egyszer kell betölteni a fizikai memóriába. Minden egyes alkalommal, amikor a program egy új példánya elindul (egyedi folyamatként, a saját virtuális memórialapjaival), akkor az oldaltábla leképezi a virtuális memóriahelyet az eredeti, valódi memória helyére. Továbbá a folyamatok által használt dinamikus, osztott programkönyvtárak különállóként jelenhetnek meg a virtuális memóriában, de valójában ugyanúgy a programkönyvtár szövegszegmensére mutatnak a valódi memóriában. Ha egy folyamat teljes memóriahasználatát vizsgáljuk, akkor fontos megjegyezni, hogy a memóriába betöltött osztott programkönyvtárak megoszlanak az általuk használt folyamatok között.

Ha a rendszernek több memórialapra van szüksége, mint amennyi elérhető, akkor egyes meglévő oldalak kilapozásra kerülnek vagy a cserehelyre íródnak. A szövegoldalak csak olvashatóként lesznek jelölve a memóriában, és nem kell őket cserehelyre írni, hiszen újratölthetők az eredeti helyükről, a lemezről. Az adatlapok írási-olvasási engedéllyel rendelkeznek, és ha módosulnak a memóriában, akkor piszkosnak lesznek címkézve, és ha cserehelyre kerülnének, akkor ki kell őket lapozni. Ha a cserehelyen lévő oldalra van szüksége egy futó folyamatnak, akkor azt újra kell olvasni használat előtt, ami esetleg egy másik lap kilapozását eredményezheti.