Debianで動的に成長するスワップファイル


10

スワップファイルを作成し、それをスワップとして使用する方法を知っています。しかし、私は事前にファイルのサイズを設定する必要があり、スワップが使用されるかどうかにかかわらず、ディスク上のスペースが使用されます。

初期サイズが0でオンデマンドで拡張するスワップを作成するにはどうすればよいですか?


@ギレス:私はただ興味がある-なぜ(タイプミスを除いて)タイトルを編集したのですか?ここで完全に発音された質問があることが望まれませんか?
rubo77 2014年

1
特に人々が最も注意を払うタイトルの冒頭では、無駄な言葉を避けた方が良いでしょう。参照してください。私は良いタイトルを書くにはどうすればよいですか?。「ダイナミックに成長するスワップ」は本質的なアイデアを与えます。「作成方法」は、質問が何であるかを示すものではありません。質問であるため、質問のタイトルを質問することを好む人がいますが、それは愚かな理由です。タイトルは回答のタイトルでもあります。
Gilles 'SO-邪悪なことをやめなさい'

回答:


3

スワップスペースは古く、メンテナンスされておらず、ある日、現代のシステムで問題を引き起こす可能性があります。ダイナミックスワップの最善の解決策は次のとおりです。

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

その後、最後に設定CONF_SWAPFACTOR=2します/etc/dphys-swapfile

sudo service dphys-swapfile start

これは機能しますが、スワップを使用しない方が良い場合があることに注意してください。unix.stackexchange.com
a /

10

SwapSpaceは、オペレーティングシステムの要件に応じてサイズを変更する「動的スワップファイル」を作成するユーティリティです。

したがって、仮想スワップファイルの作成を忘れて、「SwapSpace」をインストールするだけで、自動的に作成され、必要に応じてサイズを変更することもできます。

また、手動で作成されたスワップファイルと並べて「Swapspace」を使用することもできます。手動で1つがいっぱいになると、「Swapspace」は自動的にOS用に別のファイルを作成するため、OSには常にスワップスペースがあり、安定性が向上します。

「SwapSpace」のもう1つの便利な点は、可能な場合は常に、SwapSpaceのサイズを減らし、それらのバイトをユーザーファイルシステムに「解放」します。開発者によると、この削減により、スワップファイルのパフォーマンスも向上します(さらに、「貴重な」HDDスペースも無駄になりません)。

でインストール

sudo apt-get install swapspace

そして、必要に応じて構成ファイルを調整します。最小値を08 GB HDDのVM debianマシンに設定しました


さらに、スワップピネス0に設定して、VM上の貴重なHDDスペースの使用を最小限に抑えます。

システムのswappiness値を変更するには/etc/sysctl.conf、ルートとして開きます。次に、次の行を変更するか、ファイルに追加します。

vm.swappiness = 0

(変更を有効にするために再起動します)


作成されたスワップファイルのサイズがRAMダンプを含めるのに十分な大きさでない限り、これはswsusp / suspending to swap fileをサポートしません。
15

では、スワップファイルがRAMを格納するのに十分な大きさになるようにするにはどうすればよいでしょうか。
rubo77 2015年

1つの固定サイズのスワップファイルをサスペンド用のRAMのサイズにしてから、動的にサイズ変更されるスワップにswapspaceを使用します
Tom Hale

それは私のために働いた。これは、小さなSSDディスクに非常に役立ちます。
エイドリアン・ロペス

0

たとえば、fdiskを使用して作成するスワップパーティションであるAfaikは、既存のディスクのスペースを変更して別の場所に再割り当てするため、0より大きいスペースが必要になります。

とにかく、そしてあなたの質問に答えて、あなたは簡単に小さなパーティションを作り、それをfdiskの下でswapとして割り当てることができ、その後:

1)でスワッピングを無効にするswapoff -v 2)でパーティションのサイズを変更するlvresize 3)パーティションをフォーマットするmkswap 4)でスワップスペースを再度有効にするswapon -v

その後、を使用cat /proc/swapsして、アップグレードされているかどうかを確認できます。これは、システムの仕様に応じて、スクリプトで簡単に使用でき、スワップスペースを増やす必要があるときはいつでもオンデマンドで実行できます。何かのようなもの:

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1

1
スワップサイズはオンデマンドではなく手動で変更されるため、これは質問の答えにはなりません。さらに、LVのサイズ変更は役に立ちません。どこにスペースを拡大すればよいですか。縮小時に解放されたスペースが無駄にならないのはなぜですか?質問は、空き領域の問題を解決するスワップファイルについて尋ねます—スワップファイルは他のファイルでも使用できます。
Gilles「SO-邪悪なことをやめなさい」

オンデマンドでスワップサイズを変更することをお勧めしますが、スワップスペースは、休止状態をサポートするために使用されるswsuspのシナリオをカバーしていません。この回答は、休止状態のサポートを必要とするユーザーにとってはより正気かもしれません。もちろん、swapspaceがそれをうまく処理するまでは。
15
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.