スワップパーティションがないことの短所


8

最近ノートパソコンにUbuntu 10.04をインストールしました。SSDのスペースの制約のため、OSのスワップパーティションを設定していません。RAMは1.5GBあります。

インストール中に警告が出ますが、順調に進んだので大したことではないと思います。

長期的には、スワップパーティションがないという欠点はありますか?


2
Gpartedは、ルートドライブの2ギグを切り分けて、簡単にそして大胆に行います。
msw

回答:


6

私があなたに質問への回答を書くつもりなら、まずここでスワップファイル全体について少し説明する必要があります。長い間、ごめんなさい。

スワップファイル/スワップパーティションは、Windowsのページファイルと同様に、メモリをより効率的に使用するための専用のハードディスク領域です。スワップ空間には2つの用途があります。

  1. すべてのアプリケーションに十分なメモリがない場合(スワップスペースのないシステムでこれが発生した場合)、新しいメモリページを要求する新しいアプリケーションにメモリを割り当てることができなくなります。これにより、通常、プログラムが終了します。

  2. いくつかのメモリページ(メモリが「ページ」に分割されている)が少し前に使用されたが、現在は使用されていない場合、スワップファイルに転送され、残りのメモリを使用してより便利な何かを実行できます(たとえば、キャッシュさえ!)-これがswapspaceのないシステムで発生すると、アイドルページがメモリ内に残ります。最近はかなりの量のメモリがあるので、これはそれほど深刻なことではありません。

そして、今、リストされたswapfile / swapパーティションの使用法を持っているので、通常どれくらい目に見えるでしょうか?-それは機械の機能に依存します。デスクトップマシンの場合は、メモリの1〜1.5倍に設定します。サーバーマシンの場合も同じようにしますが、スワップの使用に注意してください。使用頻度が高い場合は、メモリをアップグレードしてください。

他の人が指摘したように、gpartedは、ext2 / ext3パーティションから数ギガのスペースを切り出すのに役立ちますが、スワップファイルを使用することもできます。

dd if=/dev/zero of=/swapfile bs=1024 count=1048576
mkswap /swapfile
swapon /swapfile

あなたが持っているべきです

swapfile none swap sw 0 0

上でfstab、それは再起動のたびに使用されていることを確認します

そしてもう1つ:スワップスペースを使用してもかまいませんが、メモリが実際に拡張されない限り使用を最小限にしたい場合は、/proc/sys/vm/swappiness(値、0-100、デフォルト、 60)。


クラッシュダンプファイルを自動的に保存するために使用されるスワップパーティションなど、指定した以外のスワップの使用方法が考えられます。また、1〜1.5倍のメモリサイズは、広く受け入れられている値ではありません。理論的には、より多くのメモリを搭載したコンピュータは、スワップに必要なメモリが少なくなります。XRAMが使い果たされ、Y RAMがさらに必要になるため、スワップではなく、使用可能なRAMにメモリを追加できる可能性があります。
TOOGAM 2015

@TOOGAMは2010年に、デスクトップで2〜4 GBのRAMなどを使用していました。
bubu 2015


3

メモリが不足した場合、プログラムに予期しない動作が発生する可能性があります。カーネルがランダムな場所でメモリのドロップを開始する場合があります。カーネルは優先度の低いプロセスのドロップを開始します。

特に作業中の優先度の低い重要なドキュメントを削除してメモリを削除始めると、仮想メモリが大きな問題を引き起こすことはありません。


3
これは、スワップの有無に関係なく発生します。
Ignacio Vazquez-Abrams

2
実際、カーネルは「ランダムな場所でメモリのドロップを開始」しません。むしろ、実行する必要があることを実行し、状況が改善するまで「重要度が低い」と見なされたプロセスの強制終了を開始します。これは「OOMキラー」によって行われます。例:linux-mm.org/OOM_Killer
sleske

私は修正された立場です。
Nitrodist

0

インストール後、メモリを大量に消費する操作を実行するときや、Openoffice.orgなどの「大きな」アプリを開いてファイルを解凍するときのメモリ使用量を確認します。総メモリ使用量がほぼ1.5 GBであることがわかった場合は、多くのメモリを使用する何かを便利に実行し、Ubuntuが重要なメモリをドロップし始めた場合に備えて、おそらくスワップパーティションまたはスワップファイルを用意することをお勧めします。カーネルの一部でさえ(良くない、本当に良くない...)。


興味があるのですが、実行中のプロセスのためにメモリを解放するために、カーネルの一部をLinuxドロップすることも可能ですか?
Igor Zinov'yev

おそらくそうではないかもしれませんが、あなたは私が何を意味しているのか知っています...
Hello71

AFAIK、Linuxカーネル自体は常にメモリ内に残ります。起動シーケンスの最初の部分として読み込まれ、残ります。メモリが解放されることも、スワップアウトされることもありません。ただし、モジュールのロードとアンロードは可能で、そのメモリ解放されます(私は信じています)が、それは通常、モジュールあたり数十キロバイトだけです。カーネルはまた、さまざまな内部データ構造とバッファーを維持し、それらの一部を解放できる可能性があります(ただし、不明です)。
sleske

0

完全な答えではありませんが、ここに、私がすべての可能なマイナス面を制御していると思っていたとしても、本当に私を攻撃した1つの事の話があります。

/programming/4567972/error-executing-aapt-all-of-the-sudden 要約すると、実際に大きなJavaプロセス/アプリケーションから実行される一部のツールは、常に実行できるとは限りません。ただし、ほとんどの一般ユーザーはこれに遭遇しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.