it-swarm-es.tech

¿Puedo hibernar Linux sin una partición de intercambio?

No había configurado una partición de intercambio en mi PC, porque a) tengo muchos RAM (8 GB) yb) Tengo discos duros grandes que no quería cortar piezas pequeñas, así que mis particiones más pequeñas son 50 GiB, y ya las estoy usando para el sistema operativo.

Ahora, para hibernar, mi Linux (Ubuntu Jaunty) requería intercambio. Tenía una partición de 100 GB de repuesto, así que lo configuré como intercambio, pero no estoy satisfecho con eso. Solo se usa para hibernación (siempre hay un montón de RAM gratis y el sistema nunca se intercambia) y también es un poco grande para intercambiar. Además, eventualmente lo necesitaré para algo más.

¿Cómo puedo hibernar (suspender en el disco) sin una partición de intercambio en Ubuntu Jaunty?

30
Hanno Fietz

Idea no probada: ¿por qué no creas un contenedor para s2disk o cualquier utilidad que administre la suspensión en el disco que administra un archivo de intercambio (en lugar de una partición de intercambio) y lo elimina al reanudar?

  • Cree el archivo de intercambio: dd if=/dev/zero of=/swapfile bs=1024 count=8388608 (8 GB)
  • Configure el archivo de intercambio: mkswap /swapfile
  • Solo cuando necesite configurar la suspensión puede activarla: swapon /swapfile
  • Cuando reanude, puede desactivarlo: swapoff /swapfile

Es posible reanudar desde archivos de intercambio, y es documentado en kernel.org

23
Robert Munteanu

Probablemente tengas dos maneras aquí,

  1. Considere un archivo de intercambio en lugar de una partición de intercambio
    • Usar una memoria USB pequeña (en comparación con el tamaño de sus particiones, pero lo suficientemente grande para la memoria) para la partición de intercambio

Hagas lo que hagas, creo que un swapoff y swapon después del currículum sería útil.
Y, dado que realmente no necesita el intercambio, puede dejarlo swapoff después de reanudar.

Actualización: El comentario hace un buen punto sobre la lenta hibernación USB.
Entonces, verifique en el orden numerado: el primer esquema tiene notas para la hibernación utilizando archivos de intercambio.


Por curiosidad,
Me gustaría saber por qué quieres hibernar cuando linuxes como Ubuntu pueden apagarse y comenzar tan rápido.
Estoy adivinando,

  • carga su ram de 8GB con algunas aplicaciones y las deja allí
  • o, usted Wake-up-on-LAN

Pero, ¿es eso realmente? o, ¿tienes alguna otra razón para hibernar?

Yo uso un arranque USB Ubunt y siempre apago.

9
nik

Sí, pero no sin algo de esfuerzo. Hay 2 formas diferentes de hibernar (suspender a disco) en Linux:

  1. swswap , que está incluido en el kernel
  2. tuxonice (anteriormente suspend2), que no lo es.

Tuxonice está disponible como un parche para el núcleo y le permitirá escribir la imagen suspendida en un archivo ordinario.

De Wikipedia :

TuxOnIce (formerly known as Suspend2) is an implementation of the suspend-to-disk (or hibernate) feature which is available as patches for the 2.6 Linux kernel. It was formerly known as 'swsusp'. During the 2.5 kernel era, Pavel Machek forked the original out-of-tree version of swsusp (then at approximately beta 10) and got it merged into the Vanilla kernel, while development continued in the swsusp/Suspend2/TuxOnIce line. TuxOnIce includes support for SMP, highmem and preemption. Its major advantages over swsusp are:

    * It has an extensible architecture that allows for arbitrary transformations on the image and arbitrary backends for writing the image;
    * It prepares the image and allocates storage prior to doing any storage and accounts for memory and storage usage very carefully, thereby becoming more reliable;
    * Its current modules for writing the image have been designed for speed, combining asynchronous I/O, multithreading and readahead with LZF compression in its default configuration to read and write the image as fast as hardware is able;
    * It has an active community supporting it via a wiki, mailing lists and irc channel (see the TuxOnIce website);
    * It is more flexible and configurable (via a /sys/power/tuxonice interface);
    * Whereas the current swsusp (and uswsusp) implementations support writing the image to one swap device only, TuxOnIce supports multiple devices in any combination of swap files and swap partitions. It can also write the image to an ordinary file, thereby avoiding potential race issues in freeing memory when preparing to suspend.
    * It supports encryption by various methods;
    * It can store a full image of memory (resulting in a more responsive system post-resume), while uswsusp and swsusp write at most half the amount of RAM.

Como no está incluido en el kernel predeterminado, desafortunadamente tendrá que elegir el parches del kernel disponible para Jaunty y compilar el kernel usted mismo.

Hay algunas instrucciones extendidas aquí , pero es posible que desee probar la sugerencia de Robert antes de recorrer este camino, a menos que sea un experto en rodar sus propias imágenes del núcleo.

4
user4358

Como Joel y Jeff han discutido en el podcast , desactivar el intercambio generalmente no es una buena idea, incluso si valdría la pena (que no lo es), el espacio en disco es tan increíblemente barato hoy en día que dejarlo encendido no le cuesta nada. ¡Puedes conseguir un concierto por menos de diez centavos (centavo euro, eso es)!

citar:

Atwood: Creo que cada geek en algún momento pasa por este proceso de pensamiento: tengo toneladas y toneladas de memoria, tal vez pueda pasar el archivo de mi página. De hecho, tengo una entrada de blog sobre esto. ... La frase clave es: nunca vale la pena.

Escuche el podcast para ver más de la conversación (comienza aproximadamente en el minuto 59), o lea la pregunta en serverfault vinculada en la página del podcast (pregunta 23621). Hablan sobre el archivo de página de Windows, pero el argumento es igualmente válido para UNIX (aunque pueden administrar la memoria de una manera diferente).

3
0x89