Estoy usando zram en mi computadora como un intercambio respaldado por RAM comprimido. Cuando el sistema necesita intercambiar algo, cambiarlo a un archivo de intercambio respaldado por zram es más o menos equivalente a comprimir esos datos en la memoria para liberar espacio. Esto hace que el intercambio sea muy rápido la mayor parte del tiempo, en relación con el intercambio respaldado por disco. Debido a esto, me pregunto si se puede ganar algo de rendimiento al animar al sistema a intercambiar las cosas no utilizadas de manera más agresiva, ya que puede hacerlo sin golpear el disco.
Entonces, ¿alguien ha perdido el tiempo, por ejemplo, configurando vm.swappiness
a 100 mientras usa zram? ¿Sería esto deseable?
sysctl -w vm.swappiness=100
Respuesta aceptada:
Respuesta corta:vm.swappiness=100
es el valor apropiado para zram (al menos en Debian Stretch con Linux 4.9, creo que es el mejor valor)
Ya pruebo vm.swappiness=100
para mí.
Creo que puede hacer una prueba simple para asegurarse de qué valor es mejor para usted.
También hice otro programa simple para probar esta pregunta.
x
En mi máquina un vm.swappiness
muy bajo valor (como vm.swappiness=1
) causará un problema obvio de capacidad de respuesta.
Acerca de SwapCached
en /proc/meminfo
:
Primero, intente vm.page-cluster=0
, esto tal vez pueda reducir algunos SwapCached
inútiles de intercambio.
SwapCached puede acelerar zram igual que un dispositivo de intercambio sin zram
SwapCached
se puede reutilizar (gratis) cuando sea necesario:
./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$