GNU/Linux >> Linux の 問題 >  >> Linux

Linux がファイルではなくスワップ パーティションを使用するのはなぜですか?

スワップ ファイルはより柔軟ですが、スワップ パーティションよりも間違いやすいです。ファイルシステム エラーにより、スワップ ファイルが破損する可能性があります。ファイルは移動または削除できないため、スワップ ファイルは管理者にとって苦痛になる可能性があります。スワップ ファイルはハイバネーションには使用できません。スワップ ファイルは、以前はわずかに遅くなりましたが、現在ではその差はごくわずかです。

スワップ ファイルの利点は、事前にサイズを決定する必要がないことです。ただし、Linux では、オンラインでスワップ ファイルのサイズを変更することはできません。登録を解除し、サイズを変更してから再登録する (または、別のファイルを作成して古いファイルを削除する) 必要があります。そのため、スワップ パーティションと比較して、Linux でのスワップ ファイルにはそれほどメリットはありません。これは主に、永続的なフィクスチャとしてではなく、一時的により多くの仮想メモリが必要な場合に役立ちます。


スワップ パーティションは、アドレス指定可能なメモリ プールのみが必要な場合にファイル システムへの依存を回避できるため、優先される場合があります。

ただし、スワップ パーティションの代わりに、またはスワップ パーティションに加えて、スワップ ファイルを使用することを妨げるものは何もありません。

  • ファイルを作成します:

    dd if=/dev/zero of=/extraswap bs=1M count=512
    
  • ファイルの内容を初期化:

    mkswap /extraswap
    
  • 使用:

    swapon /extraswap
    
  • うまくいったかどうかを確認してください:

    free -m
    

起動時に常にスワップファイルの使用を開始するには、/etc/fstab を編集して追加します

/extraswap           swap          swap    defaults    0 0

[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html


おそらく主な理由は、メインのカーネル suspend-to-disk がスワップ ファイルで機能しないことです。たとえば、Debian wiki の指示では、uswsusp をインストールします。

最近では、ファイルシステムが btrfs の場合、スワップ ファイルが機能しません。 であるため、ディストリビューションで常にスワップをパーティションとして作成するのが最も簡単です。

カーネル バージョン 2.6 より前では、ファイルをスワップに使用すると、パーティションよりもパフォーマンスが低下する可能性があることが漠然と言及されていました。 https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15


Linux
  1. Linuxでスワップを作成する方法

  2. Linuxでスワップファイルを作成する方法

  3. Linux / unixでファイルを実行するために「./」(ドットスラッシュ)を使用するのはなぜですか?

  1. CpやMkdirではなくInstallを使用する理由

  2. Linuxでスワップパーティションを管理する方法

  3. Linuxスワップファイルを作成する

  1. Linux で .so.1 ファイルが必要なのはなぜですか?

  2. shm_open を使用する理由

  3. Linux スワップ パーティションを有効にするにはどうすればよいですか?