GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:il valore appropriato di Vm.swappiness quando si utilizza Zram?

Sto usando zram sul mio computer come swap con supporto RAM compresso. Quando il sistema ha bisogno di scambiare qualcosa, sostituirlo in un file di scambio supportato da zram è più o meno equivalente a comprimere quei dati in memoria per liberare spazio. Ciò rende lo scambio molto veloce per la maggior parte del tempo, rispetto allo scambio con backup del disco. Per questo motivo, mi chiedo se ci siano delle prestazioni da ottenere incoraggiando il sistema a sostituire le cose inutilizzate in modo più aggressivo, dal momento che può farlo senza effettivamente colpire il disco?

Quindi qualcuno ha pasticciato, diciamo, con l'impostazione di vm.swappiness a 100 durante l'utilizzo di zram? Sarebbe auspicabile?

sysctl -w vm.swappiness=100

Risposta accettata:

Risposta breve:vm.swappiness=100 è un valore appropriato per zram (almeno su Debian Stretch con Linux 4.9, credo che sia il miglior valore)

Ho già testato vm.swappiness=100 per me.

Penso che tu possa fare dei semplici test per assicurarti quale sia il valore migliore per te.

Inoltre ho creato un altro semplice programma per testare questa domanda.
x
Sulla mia macchina un vm.swappiness molto basso valore (come vm.swappiness=1 ) causerà un evidente problema di reattività.

Informazioni su SwapCached in /proc/meminfo :

Per prima cosa, prova vm.page-cluster=0 , questo forse può ridurre alcuni inutili SwapCached dallo scambio.

SwapCached può velocizzare zram come un dispositivo di scambio non zram

SwapCached è possibile riutilizzare (gratuitamente) quando necessario:

./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. Un'introduzione all'uso di tcpdump nella riga di comando di Linux

  2. Risolvere i problemi utilizzando il filesystem proc su Linux

  3. Usando la forza sulla riga di comando di Linux

  4. Storie di Linux:quando i backup hanno salvato la giornata

  5. Che senso ha usare la macro linux access_ok()

La guida completa per l'utilizzo di ffmpeg in Linux

Esegui processi in background in Linux usando il comando Screen

Tutorial sull'uso del comando Timeout su Linux

Tutorial sull'utilizzo dell'ultimo comando nel terminale Linux

Usare il comando tr in Linux per giocare con i personaggi

Quale priorità in tempo reale è la priorità più alta in Linux