¿Qué tamaño de partición de intercambio se necesita para hibernar?

11

He leído esta pregunta , pero definitivamente no responde a mi pregunta.

Si quiero que mi computadora pueda hibernar, ¿necesito tener una partición de intercambio tan grande como mi RAM, o Ubuntu sabiamente podrá hibernar si la partición de intercambio puede caber en la RAM actualmente en uso ? Estoy a punto de instalar Ubuntu en una computadora con mucha RAM y un disco duro relativamente pequeño, así que no quiero usar más espacio del disco duro del necesario.

Quería evitar dar mis especificaciones reales para mantener esta pregunta más general, aunque las daré si es necesario.

Cierre vaquero
fuente

Respuestas:

9

Es difícil de predecir: su intercambio debe adaptarse

  • lo que ya está en el intercambio cuando hiberna
  • qué hay en la RAM cuando hiberna, pero solo la parte que no es caché de disco o buffers; la imagen de RAM se comprime si usauswsusp
  • algunas estructuras de datos del núcleo

Por lo tanto, puede dejar de hibernar incluso si su intercambio es más grande que su RAM, porque la mayor parte de su intercambio ya está en uso. Y convertly puede hibernar con éxito con un intercambio que es más pequeño que la RAM, si no está usando mucho en ese momento.

Si desea evitar una partición de intercambio de tamaño fijo porque su disco es muy pequeño, puede optar por un archivo de intercambio. Es más fácil cambiar el tamaño, y se supone que la hibernación a un archivo de intercambio es compatible (no estoy seguro de si actualmente funciona de forma predeterminada, eso se produjo entre versiones de Ubuntu; IIRC lo hizo en 9.10 pero tuvo que configurarse en 10.10 )

Gilles 'SO- deja de ser malvado'
fuente
1
Caché de disco no está comprimido
psusi
1
la forma en que lo redactó lo hizo sonar como si dijera que el caché está comprimido, no la imagen de hibernación. Para que la imagen de hibernación se comprima, debe instalar el paquete uswsusp. La implementación predeterminada del kernel no se comprime.
psusi
2

Esta pregunta continúa apareciendo en consultas comunes al cambiar el tamaño para configurar la hibernación. La respuesta original es correcta, ya que podría variar increíblemente en función de su carga de trabajo, pero no creo que sea una respuesta completa.

La respuesta completa es que puede saber cuánto necesita en función de su carga de trabajo específica, luego puede dimensionar adecuadamente.

La herramienta básica son los mensajes del núcleo durante la hibernación. Desea ver cuánta memoria se usó con este comando:

sudo cat /var/log/syslog | grep 'PM:'|grep kbytes

Deberías obtener resultados como:

Aug 14 11:03:20 mike-XPS-15-9570 kernel: [17594.823584] PM: Allocated 11809876 kbytes in 2.65 seconds (4456.55 MB/s)
Aug 14 11:03:20 mike-XPS-15-9570 kernel: [17605.365657] PM: Wrote 11787284 kbytes in 9.09 seconds (1296.73 MB/s)

Luego, la estrategia es ejecutar su carga máxima y activar una hibernación, ver qué espacio de intercambio se requería, posiblemente agregar un margen de seguridad, luego hacer que su espacio de intercambio sea de ese tamaño.

Mike Hardy
fuente