web-dev-qa-db-ja.com

スワップパーティションとスワップファイル

Ubuntu 17.04での新しい変更を読んでいたときに、典型的なスワップパーティションモデルから新しいインストール用の新しいスワップファイルモデルに移行していることに気付きました。

スワップパーティションとは対照的に、これを使用する利点はありますか。おそらく、パフォーマンスやスペースの節約、またはSSDやNVMeなどの今日のハードウェアとの関連性や観点からですか。

別の関連する質問は、スワップパーティションからスワップファイルに移行する方法です。私はddを使用していると推測していますが、今までスワップファイルスキームについて知らなかったので確認したいです。

そして最後に、ハイバネーションはスワップファイルの問題になりますか?

もちろん、これらの質問は、ユーザーが多くのRAMを持ち、スワップがめったに使用されない場合に関連している可能性があります(推測しています)。ですから、この情報が私と同じ疑問を持つ他の人たちに役立つことを確認するだけです。

45
Luis Alvarado

スワップファイルの唯一の利点は、サイズ変更が簡単なことです。したがって、スワップパーティションのサイズに不満がない限り、移行する意味はあまりありません。

従来、swapfileはいくつかの理由で推奨されていませんでした。スワップファイルは、以前は Linux v2.4より前 でしたが、断片化されたファイルシステムでスワップファイルを作成すると、さらに遅くなる可能性がありました。スワップファイルを使用すると、メモリのバグが発生する可能性が少し高くなります。たとえば、一部をスワップアウトするまでメモリを割り当てられないcatch-22sですが、スワップアウトする前にファイルシステムを割り当てる必要があります。数年前のスワップファイルへの冬眠は、同様の理由で物議をかもす新機能でした。何年も前、ファイルシステムがまだ少しバグが多かった(そしてジャーナリングされていなかった)ので、代わりにスワップファイルを使用するだけで、大量の重要なファイルシステムを書くのは賢明ではありませんでした。従来のデフォルトとして、スワップパーティションはスワップファイルよりもテストされています。おそらくCanonicalは、これらの問題はもう心配する価値はないと考えています。

現在、スワップファイルに切り替えない最大の理由は、「壊れていないものを修正する理由」です。メインパーティションをバックアップせず、スワップファイルではなく/homeを誤って削除すると、元に戻すのが面倒になります。

スワップファイルに切り替えないもう1つの理由は、btrfsを使用している場合です。この変数は スワップファイルをサポートしていません (低速ループバックファイルを除く)


スワップファイルを選択したとしても、スペースが不足していない限り、スワップパーティションを削除する必要はありません。必要に応じて、両方を同時に使用できます。スワップパーティションを削除することにした場合は、まずUbuntu LiveCDで起動し、try without installingに進みます。次に、ターミナルでgpartedを実行し、スワップパーティションを削除し、残りのパーティションのサイズを変更します(最初にバックアップを行うことをお勧めします)。

次に、通常のUbuntuインストールで再起動し、swapfileを作成します。スワップファイルの利点はサイズ変更が簡単であるため、SwapSpaceを使用してスワップファイルのサイズを管理することができます。

Sudo apt install swapspace

次の手順に従って手動でスワップファイルを作成することもできます。 https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04 =

簡単に言うと、以下を端末に貼り付けて1Gスワップファイルを作成できます

Sudo fallocate -l 1G /swapfile
Sudo chmod 600 /swapfile
Sudo mkswap /swapfile
Sudo swapon /swapfile
Sudo swapon --show

それが機能する場合は、次のようにして永続化できます。

Sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | Sudo tee -a /etc/fstab
32
gmatht