GNU/Linux >> Znalost Linux >  >> Linux

Linux – přiměřená hodnota Vm.swappiness při použití Zram?

Používám zram na svém počítači jako komprimovaný swap zálohovaný RAM. Když systém potřebuje něco vyměnit, výměna do odkládacího souboru zálohovaného zram je víceméně ekvivalentní komprimaci těchto dat v paměti, aby se uvolnilo místo. Díky tomu je swapování po většinu času velmi rychlé v porovnání s odkládáním zálohovaným na disku. Z tohoto důvodu by mě zajímalo, jestli je možné získat nějaký výkon tím, že povzbudíte systém k agresivnějšímu vyměňování nepoužívaných věcí, protože to může udělat, aniž by skutečně zasáhl disk?

Takže se někdo zabýval například nastavením vm.swappiness na 100 při používání zram? Bylo by to žádoucí?

sysctl -w vm.swappiness=100

Přijatá odpověď:

Krátká odpověď:vm.swappiness=100 je vhodná hodnota pro zram (alespoň na Debian Stretch s Linuxem 4.9, věřím, že je to nejlepší hodnota)

Již jsem testoval vm.swappiness=100 pro mě.

Myslím, že si můžete udělat nějaký jednoduchý test, abyste se ujistili, která hodnota je pro vás nejlepší.

Také jsem vytvořil další jednoduchý program pro testování této otázky.
x
Na mém počítači je velmi nízká hodnota vm.swappiness hodnota (například vm.swappiness=1 ) způsobí zjevný problém s odezvou.

O SwapCached v /proc/meminfo :

Nejprve zkuste vm.page-cluster=0 ,To může snížit některé zbytečné SwapCached ze swap-in.

SwapCached může urychlit zram stejně jako jiné swap zařízení

SwapCached v případě potřeby jej lze znovu použít (zdarma):

./linux-4.9/mm$ grep -rn delete_from_swap_cache
memory-failure.c:715:   delete_from_swap_cache(p);
shmem.c:1115:       delete_from_swap_cache(*pagep);
shmem.c:1645:            * unaccounting, now delete_from_swap_cache() will do
shmem.c:1652:               delete_from_swap_cache(page);
shmem.c:1668:       delete_from_swap_cache(page);
vmscan.c:673:       __delete_from_swap_cache(page);
swap_state.c:137:void __delete_from_swap_cache(struct page *page)
swap_state.c:218:void delete_from_swap_cache(struct page *page)
swap_state.c:227:   __delete_from_swap_cache(page);
swapfile.c:947:         delete_from_swap_cache(page);
swapfile.c:987: delete_from_swap_cache(page);
swapfile.c:1023:            delete_from_swap_cache(page);
swapfile.c:1571:            delete_from_swap_cache(page);
./linux-4.9/mm$ 

Linux
  1. Úvod do používání tcpdump na příkazovém řádku Linuxu

  2. Odstraňte problémy s použitím souborového systému proc na Linuxu

  3. Jaký je smysl použití linuxového makra access_ok()

  1. Použití síly na příkazovém řádku Linuxu

  2. Příběhy Linuxu:Když zálohy zachránily den

  3. Jak získat počet CPU v Linuxu pomocí C?

  1. Tipy pro použití příkazu top v Linuxu

  2. Jak se vyhnout varovné zprávě „jsou stejný soubor“ při použití cp v Linuxu?

  3. Jak nakonfigurovat swappiness v Linux Memory Management?