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$