Otras lecturas

Otras lecturas

Mi sistema Debian Stretch tiene mucha RAM. Actualmente, utiliza una partición de intercambio cifrada en el SSD, pero en condiciones normales nunca espero que la falta de memoria provoque su uso.

Pero desactivar el intercambio por completo es una mala idea según los comentarios de Snakedoc aquí:

Sólo tenga en cuenta que nunca es "seguro" desactivar completamente el intercambio. Incluso con sistemas que tienen más de 96 GB de RAM, ejecutar al menos 512 MB de intercambio es una buena medida de seguridad. Le da tiempo a su sistema para eliminar procesos innecesarios si algo se vuelve loco y consume toda la memoria RAM inesperadamente... la alternativa con el intercambio deshabilitado es entrar en pánico en el kernel.

¿Cómo desactivar de forma segura el intercambio de forma permanente y recuperar el espacio? (en Debian Jessie)

Así que pensé en reservar algo de RAM, digamos 0,5 G para un 'disco RAM', y usarlo como archivo de intercambio, guardando escrituras en el SSD.

¿Cómo puedo hacer eso? ¿Es una mala idea por alguna razón?

Respuesta1

No diría que la razón es la estabilidad, es un error común. Si la RAM del sistema + swap está llena, encontrará en realidad los mismos síntomas que sin swap:

  1. inexplicable,granderalentizaciones (el sistema bloquea los procesos que solicitan RAM por un tiempo, tal vez alguien libere la RAM necesaria para ellos)
  2. Procesos eliminados por el asesino OOM (sin memoria).

La única diferencia es que sin swap estos síntomas ocurren.de repente, mientras que con el intercambio, ocurren solo después de que se completa el intercambio. Por lo tanto, tiene un tiempo de demora mucho mayor antes de que su sistema comience a dejar de responder por completo.

Esta es la primera razón por la que es útil tener swap.


El segundo es menos conocido, pero en realidad es mucho más importante:

En general, tener swap no ralentiza tu máquina, sino que la acelera, incluso si tienes RAM más que suficiente.

Su razón es la siguiente: ¿qué hace su sistema con la RAM que sus procesos realmente no utilizan? Se utilizan para almacenar en caché sus discos duros, haciendo que su sistema sea más rápido.

Si tiene swap, esencialmente permite que su sistema intercambie las páginas de memoria que rara vez ocurren y use su espacio para el caché del disco.¿Qué tan rápido suceden? Depende de la configuración y la heurística de su VM, pero son realmente buenos (hasta donde yo sé, Linux es con diferencia el mejor en este sentido).


Si sus discos duros están en SSD, realmente no influye en estos dos argumentos (aunque tener discos mucho más rápidos y con tiempo de búsqueda cero, por supuesto, acelera todo).

Utilizo principalmente la antigua regla de oro para las particiones de intercambio: uso el doble de intercambio como mi RAM. Esto es para evitar la fragmentación del intercambio (los bloques en el archivo de intercambio pueden fragmentarse como archivos en un sistema de archivos). En su caso, donde tiene una enorme cantidad de RAM, pero un disco duro costoso con cero tiempo de búsqueda, la fragmentación del intercambio no es un problema, por lo que quizás una cantidad menor también sería suficiente. No sé, ¿cuántos SSD tienes? Tal vez 1x o incluso 0,5x veces tu sitio de RAM sería suficiente.


En mi opinión, este consejo de "tener al menos 512 M de intercambio" es malo, la cantidad de intercambio que utilice debe depender de los parámetros de su sistema (costo del disco, cantidad de RAM, cantidad de disco, tiempo de búsqueda del disco duro, etc.). Este 512M no es una "regla de oro", es un "número mágico", que no tiene sentido si lo utilizamos en general.

Respuesta2

Usar un disco duro para intercambiar en un sistema SSD es una mala idea. No sólo es más lento en velocidad, sino que tiene un tiempo de acceso mucho más largo, consume mucha más energía y posiblemente sea menos confiable que un SSD moderno. Hoy en día, los SSD tienen 5 años de garantía y pueden durar fácilmente entre 8 y 10 años, incluso si les escribe cientos de GB todos los días.

Pero sería incluso mucho mejorusarzram, posiblemente junto con una pequeña partición de intercambio de respaldo en el SSD. Varias distribuciones de Linux, así como ChromeOS y Android, han habilitado zram de forma predeterminada durante años. Ni siquiera existe el intercambio convencional por defecto en Android. InclusoventanasyMac OShoy en día utiliza RAM comprimida antes de recurrir al swap

Dado que la CPU puede descomprimir datos mucho más rápido que el HDD, puede sentir claramente la capacidad de respuesta del sistema una vez que comienza a intercambiar. La diferencia no es tan inherente a los SSD, pero según elresultados de referencia aquízram con el algoritmo lzo predeterminado todavía parece más rápido. Puedes cambiar fácilmente aalgoritmo lz4cual escasi 5 veces más rápido que lzocon una relación de compresión ligeramente inferior

También hayzswapque utiliza un mecanismo diferente, pero aún almacena datos comprimidos en la RAM

Otras lecturas

Respuesta3

Dada la respuesta de @peterh, probablemente una buena solución sea colocar cualquier disco duro antiguo en la máquina y usarlo como espacio temporal, incluido el intercambio. De esa manera toda la RAM puede estar disponible para el sistema, incluso los últimos 0,5G. Es probable que el disco duro de una computadora portátil sea más eficiente energéticamente que una unidad de 3,5".

información relacionada