This is an old revision of the document!
Při zjišťování informací o tom kolik zabírá konkrétní proces paměti, získáme několik odlišných hodnot. Konkrétně VIRT, RES, SHR, SWAP, CODE a DATA, což může být matoucí, ale vzhledem k tomu, že pokaždé řešíme trochu odlišný problém, hledáme pokaždé odlišné informace. Proto je třeba pochopit význam jednotlivých hodnot, které jsou níže detailněji popsány.
Přesto nejčastěji hledáme hodnotu RES+SWAP-SHR.
Jde o kompletní paměť mapovanou procesem. Tato hodnota zahrnuje kód, data, sdílené knihovny, swapované stránky i soubory mapované do paměti. Jedná se o zavádějící hodnotu, protože například mapované soubory nejsou ihned uloženy do paměti, ale natahují se až ve chvíli, kdy jsou některé jejich části skutečně potřeba. Hodnota tedy zahrnuje i data, která v paměti aktuálně ani nejsou.
Hodnota, kterou proces skutečně zabírá ve fyzické paměti RAM. Ale POZOR, v této hodnotě není zahrnuta paměť, která může být swapována, a naopak je v ní zahrnuta sdílená paměť SHR.
Jedná se o část paměti, která může být potencionálně sdílena s jinými procesy. Například paměť s binárním kódem (především knihovny) je jen pro čtení, takže do ní nelze zapisovat a není problém ji tedy sdílet. Prakticky každý proces potřebuje systémovou knihovnu glibc, ta je mu tedy mapována, ale nekopíruje se, zůstává tedy v paměti jen jednou.
Velikost dat odložených do swapu.
Fyzická paměť pro executable code, označovaná jako ’text resident set’ neboli TRS.
Fyzická paměť pro vše kromě executable code, označovaná jako ’data resident set’ neboli DRS.