Metriky paměti
Sledováním metrik využití paměti můžete pochopit, jak jsou paměťové prostředky využívány. To vám může poskytnout poznatky o oblastech, které mohou potřebovat optimalizaci nebo úpravu.
memory
a os.stat
Tagy: appclass
, host
, identity
, instance_id
, node_id
, service_id
, tenant
VmPeak
Význam: Vrcholová velikost virtuální paměti. Toto je vrcholová nebo aktuální celková velikost virtuální paměti používané mikroslužbou. Virtuální paměť zahrnuje jak fyzickou RAM, tak diskový swap prostor (součet všech oblastí virtuální paměti zapojených do procesu).
Interpretace: Sledování vrcholu může pomoci identifikovat, zda služba nepoužívá více paměti, než se očekávalo, což může naznačovat únik paměti nebo potřebu optimalizace.
VmLck
Význam: Velikost uzamčené paměti. To označuje část paměti, která je uzamčena v RAM a nemůže být swapována na disk.
Interpretace: Vysoké množství uzamčené paměti může potenciálně snížit flexibilitu systému v řízení paměti, což může vést k problémům s výkonem.
VmPin
Význam: Velikost připnuté paměti. Toto je část paměti, která je "připnuta" na místě; fyzická lokalizace paměťové stránky v rámci RAM nemůže být automaticky změněna nebo swapována na disk.
Interpretace: Stejně jako uzamčená paměť, připnutá paměť nemůže být přesunuta, takže vysoká hodnota může také omezit flexibilitu systému.
VmHWM
Význam: Maximální velikost rezidentní sady ("high water mark"). Toto je maximální množství fyzické RAM, které mikroslužba použila.
Interpretace: Pokud je tato hodnota konzistentně vysoká, může to naznačovat, že služba potřebuje optimalizaci nebo že potřebujete přidělit více fyzické RAM.
VmRSS
Význam: Velikost rezidentní sady. To ukazuje část paměti mikroslužby, která je držena v RAM.
Interpretace: Vysoká hodnota RSS by mohla znamenat, že vaše služba používá hodně RAM, což by mohlo vést k problémům s výkonem, pokud začne používat swap.
VmData
, VmStk
, VmExe
Význam: Velikost segmentů dat, zásobníku a textu. Tyto hodnoty představují velikosti různých paměťových segmentů: data, zásobník a spustitelný kód.
Interpretace: Sledování těchto hodnot vám může pomoci pochopit paměťovou stopu vaší služby a může být užitečné při ladění nebo optimalizaci vašeho kódu.
VmLib
Význam: Velikost sdíleného knihovního kódu. Toto zahrnuje spustitelné stránky s odečteným VmExe a ukazuje množství paměti používané sdílenými knihovnami v procesu.
Interpretace: Pokud je toto vysoké, možná budete chtít ověřit, zda jsou všechny knihovny potřebné, protože přidávají k paměťové stopě.
VmPTE
Význam: Velikost položek stránkovací tabulky. To označuje velikost stránkovací tabulky, která mapuje virtuální paměť na fyzickou paměť.
Interpretace: Velká velikost může znamenat, že je používáno hodně paměti, což může být problém, pokud se příliš zvětšuje.
VmSize
Význam: Velikost dvouúrovňových stránkovacích tabulek. Toto je rozšíření VmPTE, které označuje velikost dvouúrovňových stránkovacích tabulek.
Interpretace: Stejně jako VmPTE pomáhá sledování této velikosti v identifikování potenciálních problémů s pamětí.
VmSwap
Význam: Velikost swapované virtuální paměti. To označuje množství virtuální paměti, která byla swapována na disk. shmem
swap není zahrnut.
Interpretace: Časté swapování je obecně špatné pro výkon; pokud je tento metr vysoký, budete možná potřebovat přidělit více RAM nebo optimalizovat své služby.
mem
Další měření týkající se paměti. Navštivte dokumentaci pluginu InfluxDB Telegraf pro podrobnosti.
-
Tagy:
node_id
-
active: Paměť aktuálně v použití nebo nedávno použitá, a tedy ne okamžitě k dispozici pro vysazení.
- available: Množství paměti, která je okamžitě k dispozici pro nové procesy bez swapování.
- available_percent: Procento celkové paměti, která je okamžitě k dispozici pro nové procesy.
- buffered: Paměť použitá jádrem pro věci jako metadata systému souborů, odlišná od cache.
- cached: Paměť použitá k ukládání nedávno použitých dat pro rychlý přístup, není okamžitě uvolněna, když ji procesy přestanou vyžadovat.
- commit_limit: Celkové množství paměti, které lze přidělit procesům, včetně RAM i swap prostoru.
- committed_as: Celkové množství paměti aktuálně přidělené procesy, i když není použita.
- dirty: Paměťové stránky, které byly modifikovány, ale ještě nebyly zapsány do svého datového umístění v úložišti.
- free: Množství paměti, které je aktuálně neobsazeno a k dispozici k použití.
- high_free: Množství volné paměti v oblasti vysoké paměti systému (paměť mimo přímý přístup jádra).
- high_total: Celkové množství systémové paměti v oblasti vysoké paměti.
- huge_page_size: Velikost každé velké stránky (větší než standardní paměťové stránky používané systémem).
- huge_pages_free: Počet velkých stránek, které nejsou aktuálně používány.
- huge_pages_total: Celkový počet velkých stránek dostupných v systému.
- inactive: Paměť, která nebyla nedávno použita a může být zpřístupněna pro jiné procesy nebo diskovou cache.
- low_free: Množství volné paměti v oblasti nízké paměti systému (paměť přímo přístupná jádrem).
- low_total: Celkové množství systémové paměti v oblasti nízké paměti.
- mapped: Paměť použitá pro mapované soubory, jako jsou knihovny a spustitelné soubory v paměti.
- page_tables: Paměť použitá jádrem k udržování mapování virtuální paměti na fyzickou paměť.
- shared: Paměť používaná více procesy nebo sdílená mezi procesy a jádrem.
- slab: Paměť použitá jádrem pro cache datových struktur.
- sreclaimable: Část slab paměti, která může být zpětně získána, například cache, které mohou být uvolněny v případě potřeby.
- sunreclaim: Část slab paměti, která nemůže být zpětně získána pod tlakem paměti.
- swap_cached: Paměť, která byla swapována na disk, ale stále je v RAM.
- swap_free: Množství swap prostoru, který aktuálně není používán.
- swap_total: Celkové množství dostupného swap prostoru.
- total: Celkové množství fyzické RAM dostupné v systému.
- used: Množství paměti, která je aktuálně používána procesy.
- used_percent: Procento celkové paměti, která je aktuálně používána.
- vmalloc_chunk: Největší souvislý blok paměti dostupný v prostoru vmalloc jádra.
- vmalloc_total: Celkové množství paměti dostupné v prostoru vmalloc jádra.
- vmalloc_used: Množství paměti aktuálně používané v prostoru vmalloc jádra.
- write_back: Paměť, která je aktuálně zapsána zpět na disk.
- write_back_tmp: Dočasná paměť použitá během operací zápisu zpět.