GNU/Linux >> Znalost Linux >  >> Linux

Proč je sdílená paměť jádra na Ubuntu 12.04 0?

KSMD neudělá nic, pokud mu to aplikační software neřekne voláním madvise(MADV_MERGEABLE) . S největší pravděpodobností nepoužíváte žádný aplikační software, který využívá služby KSMD.

MADV_MERGEABLE (od Linuxu 2.6.32):

Povolte slučování stejných stránek jádra (KSM) pro stránky v rozsahu určeném addr a délkou. Jádro pravidelně prohledává ty oblasti uživatelské paměti, které byly označeny jako slučitelné, a hledá stránky s identickým obsahem. Ty jsou nahrazeny jedinou stránkou chráněnou proti zápisu (která se automaticky zkopíruje, pokud chce proces později obsah stránky aktualizovat). KSM spojuje pouze soukromé anonymní stránky (viz mmap(2)).

Funkce KSM je určena pro aplikace, které generují mnoho instancí stejných dat (např. virtualizační systémy, jako je KVM). Může spotřebovat hodně výpočetního výkonu; používejte opatrně. Další podrobnosti naleznete ve zdrojovém souboru jádra Documentation/vm/ksm.txt. Operace MADV_MERGEABLE a MADV_UNMERGEABLE jsou dostupné pouze v případě, že bylo jádro nakonfigurováno pomocí CONFIG_KSM.


Linux
  1. Aktualizujte verzi jádra na serverech Ubuntu

  2. Proč je Windows10 VM pomalý na OpenStack?

  3. Proč Apt již neaktualizuje jádro?

  1. Proč Ubuntu 14.04 Lts používá verzi jádra bez lts?

  2. Proč Ubuntu potřebuje dvě jádra?

  3. Příklady příkazů ipcs v Linuxu

  1. Proč používat shm_open?

  2. Ubuntu Linux – sdílené VHDX

  3. Proč je úprava core_pattern omezena?