web-dev-qa-db-fra.com

Puis-je hiberner Linux sans partition d'échange?

Je n'avais pas configuré de partition de swap sur mon PC car a) j'avais beaucoup de RAM (8 Go) et b) j'avais de gros disques durs que je ne voulais pas couper en morceaux minuscules, donc mes plus petites partitions ont une taille de 50 Go, et j'utilise déjà celles du système d'exploitation.

Maintenant, pour passer en hibernation, mon Linux (Ubuntu Jaunty) devait être remplacé. J'avais une partition de secours de 100 Go, je l'ai donc configurée comme un échange, mais je ne suis pas satisfait de cela. Il n'est utilisé que pour l'hibernation (il y a toujours beaucoup de RAM libres et le système ne permute jamais), et il est également un peu volumineux pour l'échange. En outre, je vais éventuellement en avoir besoin pour autre chose.

Comment puis-je hiberner (suspendre sur le disque) sans partition d'échange dans Ubuntu Jaunty?

30
Hanno Fietz

Idée non testée: pourquoi ne créez-vous pas un wrapper pour s2disk ou quel que soit l'utilitaire qui gère la suspension sur disque qui gère un fichier d'échange (par opposition à une partition d'échange) et le supprime à la reprise?

  • Créez le fichier d'échange: dd if=/dev/zero of=/swapfile bs=1024 count=8388608 (8GB)
  • Configurez le fichier d'échange: mkswap /swapfile
  • Vous ne pouvez l'activer que lorsque vous devez définir la suspension: swapon /swapfile
  • Lorsque vous reprenez, vous pouvez le désactiver: swapoff /swapfile

Reprendre des fichiers d'échange est possible, et est documenté sur kernel.org

23
Robert Munteanu

Vous avez probablement deux façons ici,

  1. Considérons un fichier d'échange au lieu d'une partition d'échange
    • Utilisation d'une petite clé USB (par rapport à la taille de vos partitions, mais suffisamment grande pour la mémoire) pour la partition d'échange

Quoi que vous fassiez, je pense qu'un swapoffet un swaponaprès la reprise seraient utiles.
Et, puisque vous n’avez pas vraiment besoin de l’échange, vous pouvez le laisser swapoffaprès la reprise.

Mise à jour: Le commentaire met en avant un hibernation USB lente.
Donc, vérifiez l'ordre dans lequel vous avez numéroté - le premier schéma contient des notes pour l'hibernation à l'aide de fichiers d'échange.


Par curiosité,
J'aimerais savoir pourquoi vous voulez passer en veille prolongée lorsque des Linux comme Ubuntu peuvent s'arrêter et démarrer si vite.
Je devine,

  • vous chargez votre RAM de 8 Go avec certaines applications et les laissez là
  • ou, vous vous réveillez sur le réseau local

Mais est-ce vraiment le cas? ou avez-vous une autre raison d'hiberner?

J'utilise un démarrage USB Ubunt et toujours éteint.

9
nik

Oui, mais pas sans effort. Il y a 2 façons d'hiberner (suspendre sur le disque) sous Linux:

  1. swswap , qui est inclus dans le noyau
  2. tuxonice (anciennement suspend2), ce qui n'est pas le cas.

Tuxonice est disponible en tant que correctif pour le noyau et vous permettra d’écrire l’image de suspension dans un fichier ordinaire.

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.

Comme il n’est pas inclus dans le noyau par défaut, il vous faudra malheureusement choisir le correctifs du noya disponible pour Jaunty et compiler vous-même le noyau.

Il existe quelques instructions étendues ici , mais vous pouvez essayer la suggestion de Robert avant de vous aventurer dans cette voie, à moins que vous ne soyez habitué à rouler vos propres images du noyau.

4
nagul

Comme Joel et Jeff ont discuté sur le podcast , désactiver le swap n’est généralement pas une bonne idée - même si cela en vaut la peine (ce qui n’est pas le cas) - l’espace disque est si incroyablement économique de nos jours que le laisser ne vous coûte rien. Vous pouvez obtenir un concert pour moins de dix centimes d’euro!

citer:

Atwood: Je pense que chaque geek à un moment donné suit ce processus de pensée: j'ai des tonnes et des tonnes de mémoire, peut-être que je peux tourner mon fichier de page. J'ai en fait une entrée de blog à ce sujet. ... La ligne de frappe est: cela n'en vaut jamais la peine.

Écoutez le podcast pour en savoir plus sur la conversation (il commence approximativement à la minute 59) ou lisez la question à serverfault liée à la page podcast (question 23621). Ils parlent du fichier de page Windows, mais l'argument est également valable pour UNIX (bien qu'ils puissent gérer la mémoire de manière différente).

3
0x89