スワップパーティションなしでLinuxを休止状態にできますか?


30

PCにスワップパーティションを設定していませんでした。a)十分なRAM(8 GB)があり、b)小さなハードドライブに分割したくないので、最小パーティションは50 GiB、そして私はすでにOSにそれらを使用しています。

今、休止状態にするために、私のLinux(Ubuntu Jaunty)はスワップを必要としました。予備の100 GBパーティションがあったので、それをスワップとして設定しましたが、満足していません。休止状態にのみ使用され(常に十分なRAMがあり、システムがスワップすることはありません)、スワップにも少し大きくなります。また、私は最終的に他の何かのためにそれを必要とするつもりです。

Ubuntu Jauntyでスワップパーティションなしで休止状態(ディスクにサスペンド)にするにはどうすればよいですか?


3
スワップなしの休止状態に関するdebianの公式ガイド:wiki.debian.org/Hibernation/Hibernate_Without_Swap_Partition
Francesco

RAMが多くても、未使用の(したがってスワップアウトされた)アプリケーションコードのスペースがデータのキャッシュに使用される場合、スワップはパフォーマンスの向上にも役立ちます。
マイケルシュミット

回答:


23

未検証のアイデア:s2diskスワップファイル(スワップパーティションではなく)を管理し、再開時に削除するディスクへのサスペンドを処理するラッパーまたはユーティリティを作成してみませんか?

  • スワップファイルを作成します:dd if=/dev/zero of=/swapfile bs=1024 count=8388608(8GB)
  • スワップファイルをセットアップします。 mkswap /swapfile
  • 一時停止を設定する必要がある場合にのみ、アクティブにできます。 swapon /swapfile
  • 再開すると、非アクティブ化できます。 swapoff /swapfile

スワップファイルからの再開が可能であり、kernel.org文書化されています


スワップファイルについても考えていましたが、起動時にカーネルに渡す方法がわかりません。ブロックデバイスの場合と同じように、「resume = / path / to / file」を実行できますか?
飯能フィーツ

スワップファイルからの再開に関するドキュメントへのリンクを含む私の更新を参照してください。
ロバートムンテアヌ

8
Plz、コマンドを追加します chmod 0600 /swapfileます。世界的に読み取り可能なスワップファイルは、ローカルでの大きな脆弱性です。
-user4035

2
私はこれが古いことを知っていますが、「dd」の代わりに「truncate」を使用します。実際にディスクに何かを書き込む必要はありません。
グイド

4
実際には、何かのシーケンスをディスクに書き込み、truncateの結果でファイルを作成する必要がありますswapon: /swapfile: skipping - it appears to have holes.
hlovdal 14年

9

ここにはおそらく2つの方法があります。

  1. スワップパーティションではなくスワップファイルを検討する
    • スワップパーティション用に小さい(パーティションサイズと比較しますが、メモリに十分な大きさの)USBスティックを使用します

何をするにしても、私が考えるswapoffswapon、再開後に有用であろう。
そして、あなたは本当にスワップを必要としないのでswapoff、再開後にそれを残すことができます。

更新:このコメントは、USBの休止状態が遅いことを示しています。
したがって、番号順に確認してください。最初のスキームには、スワップファイルを使用した休止状態に関するメモがあります。


好奇心から、
UbuntuなどのLinuxがシャットダウンして非常に高速に起動できるのに、なぜ休止状態にしたいのかを知りたいと思います。
推測しています

  • いくつかのアプリケーションで8GB RAMをロードし、そこに残します
  • または、Wake-up-on-LAN

しかし、それは本当にそうですか?または、休止状態にする他の理由がありますか?

USBブートUbuntuを使用し、常にシャットダウンします。


2
USBフラッシュスティックへのサスペンドは非常に遅くなります。
タデウシュA.カドウボウスキ2009

6
私は仕事中にたくさんのものを開く傾向があり、翌日にはすべてを取り戻すのが好きです。Ubuntuは起動が速い(実際、私には再開よりも速いように見える)が、Eclipse、Firefoxなどはそうではなく、他のアプリは閉じるときに現在の状態さえ保存しないかもしれない。
飯能フィッツ

2
@ Hanno、Firefoxでは、スクロール位置までセッションを保存することもできます。だから、Save-and-Quiteは素晴らしいです。Eclipseで何ができるかわからない。
NIK

3
Firefoxは、各ウィンドウがどのワークスペースにあったかを覚えていないため、すべてロードされるのを待った後、それらを元の場所に再配布しなければならないという小さなPITAがあります。また、ターミナルウィンドウなどの状態を回復する方法もありません。
直感

このUSBフラッシュスティックを使用すると、8GBのメモリ全体を休止状態にするのに1分もかかりません。
直観

4

はい。ただし、努力が必要です。Linuxでの休止状態(ディスクへのサスペンド)には2つの異なる方法があります。

  1. カーネルに含まれているswswap
  2. tuxonice(以前のsuspend2)は、そうではありません。

Tuxoniceはカーネルへのパッチとして利用可能であり、サスペンドイメージを通常のファイルに書き込むことができます。

ウィキペディアから:

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.

デフォルトのカーネルには含まれていないため、残念ながらJauntyで利用可能なカーネルパッチを選択して、 自分でカーネルをコンパイルする必要があります。

そこにいくつかの拡張命令があり、ここで、あなたは、あなた自身のカーネルイメージをローリングで古い手でない限り、この道を徘徊する前にロバートの提案をしようとする場合があります。


2
さて、私はいくつかのカーネルをハンドロールしました(私は数年間Gentooの愛好家でした)が、Ubuntuに切り替えた理由がありました...;)
Hanno Fietz

3

ジョエルとジェフがポッドキャスト説明したように、スワップをオフにすることは一般的には良い考えではありません-たとえそれが価値があるとしても(そうではありません)-ディスクスペースは非常に安価であるため、オンのままにしておけばコストはかかりません何でも。10セント(ユーロセント)未満でギグを獲得できます!

引用する:

Atwood:ある時点で、すべてのオタクはこの思考プロセスを経ていると思います。大量のメモリがあり、ページファイルを無効にできるかもしれません。私は実際にこれに関するブログエントリを持っています。...パンチラインは次のとおりです。それは決して価値がありません。

会話の詳細についてポッドキャストを聞く(おおよそ59分で始まる)、またはポッドキャストページにリンクされているserverfaultで質問を読む(質問23621)。Windowsページファイルについて説明しますが、引数はUNIXでも同様に有効です(ただし、メモリの管理方法は異なります)。


1
さて、スワップをオンにしても構いません。実際、現在のセットアップでは、スペアとして100ギガのパーティションをスワップとして使用しています。しかし、私が気にしているのは、スワップパーティションがあることです。100ギガバイトのスワップはまったくナンセンスであり、スワップ専用の小さなパーティションは必要ありません。Swapfileは私にとって素晴らしいものです。Robertとnikの答えのおかげで、今では休止状態に使用する方法もわかっているので、それを使用します。
飯能フィッツ

4
「小さな」パーティションを持つことの問題は何ですか?ところで 私は8GBのパーティションを小さなものとはまったく考えていません-それよりも小さい/パーティション上に存在するLinuxインストールを何年も使用しています。そして、私が使用した最初のPCには20MBのハードドライブがありました
。– 0x89

1
実際、LinuxはWindowsとはまったく異なる方法でメモリを管理します。2GBのRAMスワップを備えた古いラップトップでもほとんど使用されず、200MBのオフロードで最大値が見られました
-vava

@vava:あなたは正しいかもしれません、私は少し答えを変えました。しかし、スワップに200 MBのオフロードが見られたという事実は、実際に私の主張を裏付けています
。– 0x89
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.