「スワップ領域」とは何ですか?


16

そのため、この質問は直接尋ねられていないことに気付きました。

Ubuntuのインストールに関して、この「スワップエリア」の人々が言及し続けるのは何ですか?


7
、この質問のヘルプは?
ムル14


@Pandya Nope; 視覚資料を使用して回答を差し上げています。
アキバ

1
@Akivaもう少し具体的に教えてください。個人的には、この場合に視覚補助がどのように役立つか正確にはわかりません。
-TheSchwa

1
@Akiva私の更新された答えを見て、あなたの考えを教えてください。
TheSchwa

回答:


28

概要

スワップ領域は、ハードドライブ上にある単なる偽のRAMです。実際のRAMよりもはるかに遅いですが、多くの場合、コンピューターを正常に動作させ続けるために必要です。経験則として、通常のRAMと同じくらいのスワップスペースを確保することをお勧めします。

記憶

お使いのコンピューターには、話をする必要があるいくつかの異なる種類のメモリがあります。ファイルとオペレーティングシステムは、ハードドライブ(通常はHDD)に保存されます。これは比較的低速で安価ですが、システムがシャットダウンするまで持続します。また、コンピューターにはRAM(ランダムアクセスメモリ)があります。RAMはより高速で高価であり、コンピューターの電源が切れると内容が失われます。プログラムを実行するには、最初にHDDからRAMにコピーされ(これははるかに高速です)、ほぼリアルタイムで実行できます。

スワップ

ただし、RAMを使い果たしたが別のプログラムを開きたい場合はどうなりますか?答えは良くありません。操作を完了するのに十分なRAMができるまでコンピューターがフリーズします(これは一般に「スラッシング」と呼ばれます)。RAMは数ギガバイトしかない場合もありますが、ほとんどのコンピューターには何をすべきかがわかっている以上のHDDスペースがあります。そのため、余分なスペースの一部をピンチの偽の「RAM」として使用できます。それがスワップ空間です。ハードドライブに常駐する緊急RAM。


ハードディスクのライブを交換します

ハードドライブにスワップスペースが確保されたので、RAMの不足はそれほど大きな問題ではありません。これで、実行して別のプログラムを開きたい場合、オペレーティングシステムは現在RAMにある開いているプログラムをすべて調べ、しばらく使用されていないプログラムを選択します。次に、そのプログラムをRAMからコピーしてスワップスペースに保存し、新しいプログラムのためのスペースを空けます。将来、「スワップアウト」プログラムにアクセスする場合、オペレーティングシステムは単にそれをRAMにコピーし、プロセス内の他のプログラムをスワップアウトする可能性があります。

パーティションとファイル

スワップ空間を作成するとき、2つの選択肢があります。ハードドライブに別のパーティションを作成できます。これはUbuntuで推奨されており、システムを休止状態にする場合に必要です。または、ハードドライブにスワップファイル(Windowsではページファイルと呼ばれます)を作成できます。技術的には、スワップパーティションはスワップファイルよりもパフォーマンスが優れていますが、その差はほとんどありません。同じハードドライブ上に複数のLinuxディストリビューションがある場合、それらは単一のスワップパーティションを共有できることに注意してください(スワップパーティションにはファイルシステムがありません)。

ガイドライン

Ubuntuを初めてインストールする場合は、スワップパーティションを作成することもできます。これはUbuntuインストーラーのデフォルトであり、個人的な推奨事項でもあります。一方、スワップスペースがなく、インストール後に追加する場合は、スワップファイルを使用する方がはるかに簡単で高速です。

サイズに関しては、どれだけ大きくするべきかわからない場合は、ベースライン(およびUbuntuインストーラーのデフォルト)として、RAMと同じ量のスワップを使用することをお勧めします。とはいえ、これは非常に一般的なガイドラインにすぎず、システムの使用方法によって異なります。スワップスペースがないことで問題はありません。RAMを使い果たした場合は、スワップスペースを大きくしてください。

こちらもご覧ください


スワップ領域用に別のパーティションを作成することもできます(推奨) -なぜですか?私に最適です。
jcora 14

実際、Ubuntu 14.04のデフォルトのインストーラーは、16GBのRAMがある場合、16GBのスワップパーティションを作成します。したがって、あなたの推奨事項はすでにデフォルトになっています。
jmiserez 14

1
@jcoファイルが断片化されていない場合、最新バージョンではカーネルがファイルシステムをバイパスするため、スワップパーティションと同等のパフォーマンスが得られます。インストール時にスワップファイルを作成する場合、これはおそらく可能ですが、保証されません。後日スワップファイルを変更すると、おそらく断片化します。したがって、ディスク上で連続していることが保証されているスワップパーティションを作成する方が簡単です。また、休止状態を試したい場合は、パーティションをお勧めします。
TheSchwa 14

@JeremieMiserezありがとう、Ubuntuをインストールするときは常に手動でパーティション分割するので気づきませんでした。それを反映するために回答の文言を更新しました。
TheSchwa

@TheSchwa情報をありがとう。インストール後に作成した暗号化されたスワップファイルがあります。大部分が未使用になる20GBの貴重なSSDスペースをクロックアップしたくないため、そしてより多くのRAMを取得し、スワップサイズを増やすことを計画しているため、それがはるかに実用的であるために選択しました。断片化しないようにする方法はありますか?
jcora 14

4

コミュニティヘルプから:

  • スワップ領域は、マシンの仮想メモリの一部であるハードディスク上領域であり、アクセス可能な物理メモリ(RAM)とスワップ領域の組み合わせです。スワップ領域は、非アクティブなメモリページ一時的に保持します
  • スワップスペースは、アクティブなプロセスに物理メモリが必要であり、使用可能な未使用の物理メモリが不足しているとシステムが判断した場合に使用されます。システムがさらに多くのメモリリソースまたはスペースを必要とする場合、物理メモリ内の非アクティブなページはスワップスペースに移動されるため、その物理メモリは他の用途のために解放されます。
  • スワップのアクセス時間は遅いため、物理メモリの完全な交換とは見なさないでください。
  • スワップ領域は、専用のスワップパーティション(推奨)、スワップファイル、またはスワップパーティションとスワップファイルの組み合わせにすることができます。

次もご覧ください:-

  • ウィキペディアのページング:

    スワップパーティションでは、ディスク上のどこを選択し、ディスクスループットが最も高い場所に配置できます。スワップファイルの管理の柔軟性は、スワップパーティションの他の利点よりも重要です。たとえば、スワップファイルは任意のドライブに配置でき、任意のサイズに設定でき、必要に応じて追加または変更できます。ただし、スワップパーティションは、通常はスワップパーティションを使用するオペレーティングシステムの外部でサイズを変更するツールを使用しないと変更できないため、ファイルほど柔軟ではありません。

    Linuxは、実質的に無制限の数のスワッピングデバイスの使用をサポートします。各デバイスには優先順位を割り当てることができます。オペレーティングシステムが物理メモリからページをスワップする必要がある場合、空き領域のある最も優先度の高いデバイスを使用します。

  • /programming//q/4970421(仮想メモリとスワップ領域の違い)

  • Linux.com-スワップスペース

    スワップとは、メモリのページをハードディスク上の事前設定されたスペースにコピーするプロセスであり、スワップスペースと呼ばれ、そのメモリのページを解放します。物理メモリとスワップ領域の合計サイズは、使用可能な仮想メモリの量です。

  • スワップパーティションの重要性


これがスワップに関する基本的な知識を理解し、得るのに役立つことを願っています。


0

「スワップ領域」は、Windows NTファミリのページングに使用されるpagefile.sysと同じです。


-1は、OPがWindowsでページファイルが何であるかを知っていることを前提としています。また、すべてのページがメインメモリからフラッシュされたときに、スワップスペースになるわけではありません。2つは関連していますが、スワッピング以外のページングメカニズムがあります。
デビッドフォースター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.