web-dev-qa-db-ja.com

スワップが多すぎませんか?

スワップパーティションが大きすぎるのではないかと思っていました。はいの場合、whenはスワップパーティションが大きすぎますか?スワップパーティションが大きすぎる場合のマイナス面/悪影響は何ですか(ディスクスペースが十分にある場合でも)。

「いいえ」の場合、推奨されるスワップスペースよりも多くの利点がありますか?

16
An0n

番号

RAMを増やす方法としてスワップを見ることができるので、一見するとあまり多くのスワップを持つことはできません。実際には、RAMを増加させませんRAMのふりをします:8 GBの実RAMとスワップスペースが、たとえば24 GBが構成されている場合、プログラムは8 + 24 = 32 GBまでのメモリを割り当てて使用できます。

しかし

メモリリークのあるアプリケーションや、実際に8 GBのメモリで実行するように作られていないアプリケーション(ビデオ編集など)を実行すると、これらのアプリケーションはそのスワップスペースの使用を開始し、スワップが遅くなります。これらのアプリケーションで使用されているスワップスペースが多いほど、ディスクとの間でメモリを移動するだけでシステムがビジーになります。これにより、システム全体の応答性が大幅に低下し、ユーザーエクスペリエンスが低下します。

最終的に-スワップ領域が使い果たされると-一部のアプリケーションはメモリ不足の状況に直面し、カーネルの OOM_Killer によって殺されます。

wiki から:

最近のコンピューターでの典型的なOOMのケースは、潜在的なバッキングデバイスがすべて使用されているため、オペレーティングシステムが仮想メモリを作成できない場合に発生します。

結論

したがって、多すぎるスワップスペースを持つことの1つの欠点は、あなたが持っているほど、このOOM状況が遅く発生し、より長く苦しむ必要があることです遅れて応答しないシステム。

もちろん、明らかな別のマイナス面はディスク容量を浪費することですが、最近ではそれほど重要ではないかもしれません。

8
PerlDuck

大きなスワップスペースに直接の欠点はありません。カーネルによって管理される方法では、スワップスペースの量が十分な量を超えて増加しても、パフォーマンスにはまったく影響しないか、無視できるほどの影響しかありません。

「大きすぎる」スワップスペースの唯一の欠点は、そのスペースをストレージに使用できないことです。

5
David Foerster

ディスクの空き容量が少ないこと以外の欠点はありません。今日では、RAMの2倍という概念はほとんどのシステムで時代遅れになっていると思います。 RAMの揮発性のためにデータを失うことなくPCを休止状態にする機会を与えるために、ラップトップのスワップメモリ​​には通常同じサイズのRAMを使用することをお勧めします。

スワップパーティションにRAMの1倍以上のサイズを使用することを検討する唯一のケースは、RAMサイズを短時間でアップグレードする場合です。または、ある種のキャッシュに格納するシステムを使用する予定の場合、まったく同じ時点で使用されていないプログラムが使用するメモリの量。

私のポイントが十分に明確であり、スワップメモリ​​が多すぎるために問題が発生することはないと思います。

ごきげんよう!

4
zurg

ハイバネーションに実際に必要なSWAPはどれくらいですか?

休止状態を使用する場合、SWAPサイズにRAM x 2が必要であるという誤解です。スワップサイズは、使用済みRAMのサイズである必要がありますインストール済みRAM 。通常、スワップサイズは、インストールされているRAMの2/5である必要があります。使用に必要な最小限のRAMの量を見つけるには:

$ cat /sys/power/image_size
3153907712

この8 GB RAMマシンでは、休止状態にするには3 GB以上が必要です。

image_sizeの値を微調整して、スワップのサイズを小さくして、障害のリスクを負うことができます。スワップサイズを大きくするために微調整し、場合によっては休止状態の速度を上げることができます。

リファレンス: https://wiki.archlinux.org/index.php/Power_management/Sus​​pend_and_hibernate


1995年には16 MB RAM、2018年には16 GB RAMの異なるルール

16 MBのRAMがあった時代には、720 MBのハードドライブで32 MBのスワップ用に2つ使用するのが理にかなっていました。この中の少しのRAMとHDDの履歴 1995 Washington Postの記事

23年後、その1995年のいくつかの技術記事(私は見つけられませんでしたが)が、新しいユーザーを誤解させることがあります。しかし、 SWAP = RAM x 2 を推奨する2007年の記事を見つけました。

1995年には、760 MB HDDからの32 MBスワップはHDDの4%でした。実際、スワップパーティションは1995年に多く使用されていた可能性があります。2018年の現在、256 GB SSDの32 GB SWAPの16 GB RAM x 2は、13% SSDの。今日、OOM-Killerのテスト時に強制的にいっぱいにしない限り、8 GBのSWAPパーティションはまったく使用されていません: Google Chromeは、それを引き起こすポイントまでメモリを占有しますコンピュータがほぼ停止するまでフリーズします。これを防ぐにはどうすればよいですか?

2

SWAPとは:

Linuxのスワップスペースは、物理メモリ(RAM)の容量がいっぱいのときに使用されます。システムがより多くのメモリリソースを必要とし、RAMがいっぱいになると、メモリ内の非アクティブなページがスワップスペースに移動します。スワップスペースは、少量のRAMを搭載したマシンには役立ちますが、より多くのRAMの代替と見なすべきではありません。スワップ領域は、物理メモリよりもアクセス時間が遅いハードドライブにあります。

スワップ領域は、専用のスワップパーティション(推奨)、スワップファイル、またはスワップパーティションとスワップファイルの組み合わせにすることができます。

スワップは物理RAMの2倍に等しくなければなりません。


利点:

メモリが完全にいっぱいになったときにオーバーフロースペースを提供します高速メモリからほとんど必要のないアイテムを遠ざけることができます休止状態にできます

欠点:

SWAPパーティションは動的にサイズ変更されないため、ハードドライブのスペースを占有します。ハードドライブの摩耗を増加させる可能性があります。必ずしもパフォーマンスが向上するわけではありません(下記参照)


「追加のストレージと比較する価値がない」のようにSWAPパーティションが「役立たない」場合:

ハードドライブのRPMが5400 RPMしかなく、RAMがほとんどない場合、2 GBを超えます。どうして ?システムは常にSWAPパーティションにアクセスしたいため、最終的には非常に遅くなります。メモリに空きができたとしても、SWAPパーティションのすべてを元に戻す必要があります。システムが遅くなるため、割り当てはSWAPパーティションにとどまります。これは、再起動でのみ修正できます。とにかく、システムはシャットダウンする前にSWAPパーティションからすべてを削除する必要があるため、しばらく時間がかかります。


**結論:**

hibernateを使用できるようにするには、SWAPパーティションが必要です。このパーティションのサイズは、インストールされているメモリのサイズに加えて、既にSWAPパーティションに既に移動されたアイテム用のスペースを確保するために10〜25%を追加する必要があります。

わずかなパフォーマンスの向上が必要な場合(少なくとも7200rpmのハードドライブがある場合)、必要に応じてSWAPパーティションを追加できますが、4GB未満のメモリがインストールされている場合を除き、必要ありません。このサイズは自由に設定できます。ただし、ピンポイントとしてRAMを2倍にすることをお勧めします。十分なストレージスペースがある場合。

5400rpmのハードドライブを使用している場合は、ボトルネックが原因でコンピューターの性能が低下するため、SWAPパーティションを作成しないでください。ただし、絶対にSWAPが必要な場合は、上記で説明したのと同じサイジングガイドラインを使用してパーティションを作成できますが、swappiness値をもっと低い値に変更します。



私の意見:

ただし、いずれにせよ、Ubuntuを日常のメインOSとして使用する場合、I 推奨 RAMの2倍のサイズです。古いコンピューターを持っているからといってUbuntuをインストールしないからです。ただし、システムをメインOSとして使用するためです。

システムパーティションを調整して実行を継続する代わりに、必要に応じて追加のハードウェアを購入します。ゲームを購入する場合は、設定を調整して「プレイ可能」にするのではなく、システムが「最新」であることも確認してください。

短すぎたり、後ですべてのサイズを変更したりする代わりに、余分なスペース、スワップ、速度、電力を確保する方が良いでしょう。 SWAPまたはスペースが必要なため、RAMを購入しましたか?または、1つのメモリスロットまたはスティックが破損したため、RAMを高速で購入する必要があります。

1
An0n

実際、オーバーヘッドがありますが、非常に小さいです。ディスク上の「ページ」ごとに参照カウンタがあり、すべてのスワップ領域に関連付けられた構造体がいくつかあります。これはカーネルメモリ内にあるため、ページングできません。アーキテクチャに応じて、4 GBごとに2〜16 MBです。残りはかなり動的であるため、使用方法に依存します。

したがって、ページアドレス空間自体がRAMにいくらかのオーバーヘッドを課していることに留意してください。さらに、スワップされたページの追跡が行われているので、それほど遠くまでは拡大しません。かなりのオーバーヘッドを課しても、vfsは構造情報をディスクにオフロードできるため、ファイルシステムはスワップ領域よりもはるかに効率的です(通常、ハードウェアの制限のために少なくともページテーブルはスワップできません。 vmmは、すべての簿記にスワップ不可能なメモリを使用している可能性があります)。

OTOHのスワップが少なすぎると、ページをスワップするときに断片化が発生する可能性があります。多くの場合、特定のポイントの後も改善されません。

スワップは一般に最後のリソース(休止状態を除く)であるため、特に4GBを超えるRAMがあり、場合によってはRAMと同じ大きさであっても、RAMよりも多くのスワップスペースを使用してもメリットはないでしょう。大(64 GBと考えてください)。

0
Ismael Luceno