GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi vyrovnávací pamětí a mezipamětí v Linuxu?

Vyrovnávací paměti jsou přidruženy ke konkrétnímu blokovému zařízení a pokrývají ukládání metadat souborového systému do mezipaměti a také sledování stránek během letu. Mezipaměť obsahuje pouze data zaparkovaného souboru. To znamená, že vyrovnávací paměti si pamatují, jaké jsou adresáře, jaká jsou oprávnění k souborům, a sledují, z jaké paměti se zapisuje nebo do které se čte pro konkrétní blokové zařízení. Mezipaměť obsahuje pouze obsah samotných souborů.

citovat odkaz


Citovaná odpověď (pro referenci):

Krátká odpověď:Mezipaměť je velikost mezipaměti stránky. Buffers je velikost blokových I/O bufferů v paměti. Záležitosti uložené v mezipaměti; Vyrovnávací paměti jsou z velké části irelevantní.

Dlouhá odpověď:Cached je velikost linuxové mezipaměti stránek mínus paměť ve swap cache, kterou představuje SwapCached (celková velikost mezipaměti stránky je tedy Cached + SwapCached). Linux provádí všechny I/O souboru prostřednictvím mezipaměti stránek. Zápisy jsou implementovány jako jednoduché označení odpovídajících stránek ve vyrovnávací paměti stránek jako nečisté; vlákna proplachovače pak pravidelně zapisují zpět na disk všechny špinavé stránky. Čtení jsou implementována vrácením dat z mezipaměti stránek; pokud data ještě nejsou v mezipaměti, jsou nejprve naplněna. Na moderním systému Linux může být mezipaměť snadno několik gigabajtů. Zmenší se pouze v reakci na tlak paměti. Systém vyčistí mezipaměť stránek spolu s výměnou dat na disk, aby v případě potřeby zpřístupnil více paměti.

Buffery jsou blokové I/O buffery v paměti. Jsou poměrně krátkodobé. Před linuxovým jádrem verze 2.4 měl Linux samostatnou mezipaměť stránek a vyrovnávací paměti. Od verze 2.4 jsou mezipaměť stránek a vyrovnávací paměti sjednoceny a vyrovnávací paměti jsou nezpracované diskové bloky, které nejsou zastoupeny v mezipaměti stránek – tedy ne data souborů. Metrika Buffers má tedy minimální význam. Na většině systémů mají vyrovnávací paměti často jen desítky megabajtů.


Linux
  1. Jaký je rozdíl mezi příkazem locate a find v Linuxu

  2. Jaký je rozdíl mezi ovladačem platformy Linux a normálním ovladačem zařízení?

  3. Jaký je rozdíl mezi „vyhledat“ a „najít“ v Linuxu?

  1. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

  2. Jaký je rozdíl mezi env a set (na Mac OS X nebo Linux)?

  3. Jaký je rozdíl mezi voláním knihovny a voláním systému v Linuxu?

  1. Jaký je rozdíl mezi zápisem do souboru a namapovanou pamětí?

  2. Jaký je rozdíl mezi strtok_r a strtok_s v C?

  3. Jaký je rozdíl mezi ls a l?