複数のスワップファイルの目的は何ですか

複数のスワップファイルの目的は何ですか

すべてではありませんが、ほとんどのLinuxディストリビューションのインストール中に、ハードドライブはデフォルトでスワップパーティションを含むようにパーティション化されています。

この動作は次のように変更できます。swapon -p priority

マニュアルページによると、優先順位は次のとおりです。

PRIORITY
Each swap area has a priority, either high or low. The default priority is 
low. Within the low-priority areas, newer areas are even lower priority 
than older areas.
All priorities set with swapflags are high-priority, higher than default. 
They may have any non-negative value chosen by the caller. Higher numbers 
mean higher priority.

Swap pages are allocated from areas in priority order, highest priority 
first. For areas with different priorities, a higher-priority area is 
exhausted before using a lower-priority area. If two or more areas have the 
same priority, and it is the highest priority available, pages are 
allocated on a round-robin basis between them.

As of Linux 1.3.6, the kernel usually follows these rules, but there are 
exceptions

複数のスワップファイルが必要なのはなぜですか?
システム管理者が複数の交換を構成するのは一般的な慣行ですか?

答え1

スピンドルが1つしかない場合でも、複数のスワップ領域が必要になる理由はいくつかあります(ファイルである必要はありません)。

20-20振り返ってみると:単一のスワップ領域を持つマシンを展開しましたが、結局それだけでは不十分であることに気付くでしょう。マシンを勝手に再配布することはできませんが、できるパーティションレイアウトの再実行がオプションになるまで、別のスワップ領域(おそらくファイル)を作成します。

スワップ領域のサイズを変更または移動するには、次の手順を実行します。スワップ領域のサイズを変更できません(例:エヴァン・ティートマン)。 RAMが十分でないと、swapoff新しいスワップ領域を作成して再作成することはできません。スワップ領域を解放する前に、スワップアウトされたすべてのページをRAMに移動する必要があります。したがって、一時スワップ領域(元のスワップ領域)を作成し、すべてのページが前のスワップ領域から一時スワップ領域に移動するのを待ってから、元のスワップパーティションのサイズを変更し、サイズ変更されたスワップパーティションと一時スワップパーティションのサイズを調整します。します。置き換えられたページは、一時的な交換領域からサイズ変更されたページにコピーされ、完了します。スワップ領域を移動する場合、準備領域も必要ありません。新しいもの、古いもの、すべてが動きました。swaponswapoffswapoffmkswapswaponswapoffmkswapswaponswapoff

信じられないほど速い交換:最新ディスクの採用エリアビットレコード。ディスクの最初の領域が最も高速です。ディスクを測定し、ドライブの最初の最速領域をカバーするパーティションを作成できます。予想されるスワップサイズより小さい場合があります。したがって、同じ技術を使用して複数のディスクに複数のパーティションを追加できます。

クレイジークイック交換、続編:あるいは、ディスクの最速領域がどこにあるかを知ったら、最初の領域に優先度の高いスワップ領域を作成し、2番目の領域に優先度の低いスワップ領域を作成するように続けることができます。これにより、スイッチングシステムは自動的にすべての高速ディスク間のロードバランシング領域を認識し、高速領域を優先し、必要に応じて遅い領域をオーバーフロー領域として使用します。

対称型ロードバランシング:サーバーなどの多くのスピンドルで構成されたよく構築されたシステムでは、各ディスクの先頭を占める複数のスワップパーティションを使用したいと思います(これを利用するため)。エリアビットレコード)。すべて同じ優先順位を持つため、カーネルはスイッチのロードバランシングを実行します。 1つのスピンドルは100MB / sを提供できますが、すべてのスピンドルを交換するとその速度の数倍を得ることができます。 (素直に言った)

ボトルネック認識ロードバランシング:しかし、実際には他のボトルネックがあります。たとえば、16 個のディスクで構成されたサーバーには、4 ポート乗算機能を備えた 6 Gbps SATA ポートが 4 つあり、4 つのディスクが帯域幅を共有できます。これを理解すると、ポート1〜4のディスク1が最も高い優先順位を持ち、ポート1〜4の2番目のディスクが2番目に高い優先順位を持つようにスワップスペースを設定できます。これにより、スワップ負荷のバランスが維持されますが、スワップ空間を圧倒することはありません。ポート乗数。

さまざまな機能を備えたデバイス間の交換:(Lukeが述べたように)あなたのシステムが新しいサーバーではなく、長年にわたって有機的に成長してきた場合、他のシステムよりもはるかに高速なブロックデバイスを持つことができます。まず、最速デバイスに切り替え、次に高速デバイスに切り替える必要があります。

サイズノート:(頼るデビッド・コーエン)すべてのスワップを1つのドライブに入れると、ドライブに空き容量が残る可能性があります(2001年の製品のように聞こえますが、古いデバイスや内蔵デバイスが多く、問題になる可能性があります)。これをすべてのドライブに分割すると、上記の他のすべての利点に加えて、ドライブあたりのディスク容量の使用率が向上します。軸当たり数ギガバイトを失うこととディスクから300ギガバイトを失うことはもう1つの問題です。

緊急事態:博士号の論文を提出するために96時間が与えられました。そして最終実験(ノーベル賞を受賞でき、名前の後に大文字と小文字が混在したファンキーな文字を使用できる実験)が進行中です。驚くべき速度で記憶力が枯渇する。スワップスペースが不足しています。作成したスワップファイルは、プライマリスワップデバイスよりも優先順位が低くなります。カーネルはそれをオーバーフロースワップスペースとして使用します。インストールもできます。交換これは自動的に行われるため、大規模なemacsLaTeXを実行するのに十分なスワップスペースを確保できます。

さまざまなメディアを介した交換:Linuxは文字デバイスと交換できませんが、SSD(注:SSDと交換したくない場合があります)、数十種類の回転式ハードドライブ、フロッピーディスク(例)、物理メディアと仮想メディアなど、さまざまなメディアがあります。フロッピーディスクを交換できます。 Unixでは、いつでも自分の足を撃つことができます。DRBDボリューム、iSCSI、LVMボリューム、LUKS暗号化パーティションなど(これらの超現実的で驚くべき層の組み合わせが含まれています - パラレルポートZIPドライブ、iSCSI、IEEE802.3ad統合イーサネットを介してLVMでLUKSを交換しますか?問題ありません。汚れた変態です。)。これはニッチ要件をサポートするように設計されたニッチのシナリオです。

答え2

(少なくとも私が知っている限り)スワップファイルまたはスワップパーティションを使用している間は、スワップファイルを拡張することはできません。使用可能なスワップ領域がほぼ満たされている場合は、追加のスワップファイルを作成する必要があります。

さらに、システムに4 GBのスワップスペースが必要で、2つの2 GBストレージデバイスがある場合は、少なくとも2つのスワップ領域を使用する必要があります。

答え3

マルチスピードディスクドライブ。より速いものを最初に有効にすることができます。遅いものが失敗した場合は、遅いものが最初に使用されます。

答え4

1995年、私はさまざまな種類の最適化認識を試しました。さまざまなタイプのCPUで既知のビットと未知のビットを動的に変更するユーティリティを試してみましたが、メモリブロックサイズ、ディスクブロックサイズ、パーティションサイズも試してみました。

私がPCで見た最高のパフォーマンス向上は、それぞれスワップファイルまたはスワップパーティションを持つ15個の512MBパーティションでした。 1024MBのパーティションは512MBのパーティションよりはるかに遅く、256MBのパーティションが速いようです。これはWindowsで動作し、Linuxでは30を超えるスワップパーティション(スワップスピンドル)を利用するには少し学習が必要です。これはSSDに最適です。ディスクは1つしか必要ありませんが、2つが優れています。 1つはオペレーティングシステム用で、もう1つはスワップパーティションと一時ファイル用です。

問題は、一度すべてがさまざまな種類のメモリRAM、スワップファイルなどにロードされたら、コンピュータを再起動して脆弱なプロセスを再起動することが負担であるということです。私が話している設定を使用すると、15日間簡単にコンピュータを離れることができます。スピンドルを交換する前に。毎日コンピュータにメモリが足りなくなったら、再起動します。今、初めてコンピュータを再起動すると速度が遅くなり、すべてをメモリにロードしてスワップファイルに戻す必要があると思います。この構成のスワップファイルに含めると、評価が速くなります。

関連情報