GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿el valor apropiado de Vm.swappiness al usar Zram?

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$ 

Linux
  1. Una introducción al uso de tcpdump en la línea de comandos de Linux

  2. Solucionar problemas con el sistema de archivos proc en Linux

  3. Usando la fuerza en la línea de comando de Linux

  4. ¿Cómo obtener la cantidad de CPU en Linux usando C?

  5. ¿Cómo evitar el mensaje de advertencia 'son el mismo archivo' cuando se usa cp en Linux?

La guía completa para usar ffmpeg en Linux

Ejecute procesos en segundo plano en Linux usando el comando Pantalla

Tutorial sobre el uso del comando Timeout en Linux

Tutorial sobre el uso del último comando en la terminal de Linux

Usando el comando tr en Linux para jugar con personajes

¿Qué prioridad en tiempo real es la prioridad más alta en Linux?