GNU/Linux >> Znalost Linux >  >> Linux

Linux – skutečné využití paměti?

pokud tomu dobře rozumím, v následujícím výstupu produkovaném free je 3535m skutečná volná paměť dostupná aplikacím, je použito pouze 413m, je to správně? potřebují nějaké vysvětlení ohledně rozdílu mezi Mem a -/+ buffery/řádkem mezipaměti.

free -m
             total       used       free     shared    buffers     cached
Mem:          3949       3854         95          0          9       3431
-/+ buffers/cache:        413       3535
Swap:         2047       1322        725

Přijatá odpověď:

Mem: total číslo je celkové množství paměti RAM, které mohou aplikace využít. Toto je celková RAM nainstalovaná v systému, mínus:

  • paměť vyhrazená hardwarovými zařízeními (často videopaměť, pokud grafická karta nemá vlastní RAM);
  • paměť používaná samotným jádrem.

Tento součet zahrnuje:

  • free :paměť, která se aktuálně používá pro jakýkoli účel;
  • shared :koncept, který již neexistuje. Je ponechán ve výstupu kvůli zpětné kompatibilitě (existují skripty, které analyzují výstup z free ). (Na současných systémech obvykle uvidíte nenulové hodnoty, protože shared byl přepracován tak, aby zobrazoval paměť, která je explicitně sdílena prostřednictvím mechanismu sdílené paměti. Na starších systémech zahrnoval soubory mapované více než jedním procesem a sdílenou paměť, která zůstala sdílená po fork() .)
  • buffers :paměť, která je zálohována soubory a kterou lze v případě potřeby zapsat na disk;
  • cache :paměť, která je zálohována soubory a kterou lze kdykoli získat zpět (rozdíl s buffers je, že vyrovnávací paměti musí být uloženy na disk, než budou znovu použity, zatímco mezipaměť se skládá z věcí, které lze znovu načíst z disku);
  • used -buffers/cache :paměť využívaná aplikacemi (a nestránkovaná k odkládání).

Systém by mohl běžet bez vyrovnávacích pamětí a mezipaměti, vyhradit RAM pro aplikace a systematicky provádět čtení a zápis na disk bez jakéhokoli ukládání do mezipaměti. -/+ buffers/cache čísla udávají množství paměti RAM přímo využívané aplikacemi (used sloupec) a množství paměti RAM nevyužité aplikacemi (free sloupec).

I když se to může hodně lišit, zdravý systém má obvykle přibližně polovinu RAM vyhrazenou aplikacím a polovinu vyrovnávací paměti a mezipaměti. Pokud nepoužíváte vyhrazený souborový server, má váš systém více paměti RAM, než potřebuje pro to, co právě děláte. Pokud je free - buffers/cache hodnota byla nízká, což by naznačovalo, že systém nemá dostatek paměti RAM (na rozdíl od rozšířeného přesvědčení je pro výkon systému důležité mít hodně paměti vyhrazené pro vyrovnávací paměti a mezipaměť, a pokusit se vyhradit více paměti pro aplikace by znamenalo 99,99 % systémů pomalejších).

Související:Jak oklamat konkrétní příkaz, aby si myslel, že jde o jiné datum?

swap řádek je přímočarý, ukazuje množství swapu, který se používá (buď aplikacemi, nebo pro tmpfs úložiště) a částku, která není.


Linux
  1. Využití paměti Linuxu

  2. Linux – Omezit využití paměti pro jeden linuxový proces?

  3. Linux – správně určit využití paměti v Linuxu?

  1. Jak zkontrolovat využití paměti na serveru se systémem Linux

  2. Využití virtuální paměti z Javy pod Linuxem, příliš mnoho paměti

  3. Jak se v Linuxu hlásí využití paměti?

  1. Linux df příkaz

  2. Špičkové využití paměti linuxovým/unixovým procesem

  3. Graf využití paměti procesu v systému Linux