スワップサイズを増やす方法


17

最近、サーバーにさらにRAMを挿入しましたが、合計で24GBのRAMを使用できるようになりました。元々、OSを2GBのスワップサイズに設定しました。

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux

現在、スワップ用に2GBが割り当てられていますが、それを読んでみるとそれほどではないようです。24GBのシステムでは、少なくとも10GBのスワップを割り当てることを考えています。

私の質問は次のとおりです。OSの実行中に実行できますか?再インストールする必要がありますか?OpenSuse 11.3を使用しています

回答:


23

インストール時に別のスワップパーティションを作成することにしました。オンラインでサイズを変更することはできません-オフラインでのサイズ変更でもかなりの時間がかかり、/ dev / sdc2上の後続のファイルシステムを損傷する可能性があります。

この問題を回避する最も簡単なオプションは、現在使用していない別のディスクに新しいスワップパーティションを作成するか(または、再パーティション分割のためにオフラインにする余裕がある)、または既存のファイルシステム内のスワップファイルを使用することですファイルシステムのオーバーヘッドによる若干のパフォーマンスの低下

スワップパーティション/ファイルを追加する一般的な手順:

  • タイプ82hの新しいパーティションまたは新しい8 GBファイルのいずれかを使用して作成します dd if=/dev/zero of=/swapfile bs=1M count=8192
  • mkswap /swapfileまたはを使用して初期化するmkswap /dev/sdXX
  • swapon /swapfileまたはをswapon /dev/sdXX使用して、新しいスワップスペースをオンザフライで有効にします
  • / etc / fstabにエントリを追加して、再起動時に新しいスワップスペースがアクティブになるようにします

現在のスワップパーティションは引き続き使用されます。複雑さを軽減するために、それを削除することもできます。使用swapoff /dev/sdc1を一時的に無効にして、参照を削除するために使用します/etc/fstab


@ synticon-djありがとう。スワップが行われるディスク上のデータは重要であり、使用できる別のディスクがあります。スワップはパフォーマンスに影響するため、別のディスクを設定すると思いますか?/ dev / sdc1を交換する必要がありますか?
X-男

それは何らかの形でそれに影響します-/ dev / sdc2が多くの使用を見ている場合、このI / OはスワップI / Oと競合します。別のディスクのパーティションをスワップとして追加する場合、このディスクにスワップI / O負荷を追加するだけです。スワップのパフォーマンスにとって有益なものは、影響を受けるディスク上の他のI / Oにとって必然的に有害です。そうは言っても、ページアウト/ページイン要求の数が多いほどシステムのパフォーマンスが悪くなることはありません。これが表示される場合は、メモリを追加するか、システムのメモリフットプリントを減らして修正してください。
the-wabbit

異なるスピンドルに2つのスワップデバイスがあると、スワップのパフォーマンスが向上します(読み取りと書き込みを行うディスクが1つではなく、同時にアドレス指定できるディスクが2つあるため)。しかし、あなたは、あなたが管理を容易にするだけで、単一のデバイス/パーティション/ファイルを使用して好むかもしれない、原因とにかくスワップに高いI / Oアクティビティを見るべきではない
-wabbit

1
BtrFSを使用している場合、スワップファイルは機能しないことに注意してください。2つの回避策は、(1)ループバックデバイスを作成するか、(2)btrfs-swaponを使用することです。
ダイアゴン

@ the-wabbit /etc/fstab再起動時に新しいスワップがアクティブになるようにエントリを実際に作成するにはどうすればよいですか?
SIGSTACKFAULT

3

この場合、スワップが必要になりますか?システムで何を実行しているのかわかりませんが、スワップを完全に回避するためにサーバーに十分なメモリを確保しようとします...(私はそれを持っていますが、フェイルセーフとしてのみ、サーバーがスワップを開始した場合、より多くのメモリ...)


私はあなたの側にいます、スワップは主に(揮発性)メモリ枯渇のクラッシュを防ぐために使用され、プラッタにヒットするとすぐにサーバーがヒットI / Oおよび/または帯域幅を取っていますが、SSDは役立ちます最近では本当に安いRAMよりも少なくとも10倍遅いです。DDR3 ECC 1333の価格は64ギガバイトのための$ 1000(8x8GB)についてです
Shadok

2

ディスクを再パーティション化する必要があります。Linuxパーティションの最初の移動はpartedではサポートされていませんが、Linuxファイルシステムとパーティションも縮小してから、ディスクの最後に別のスワップを作成できます。システムがオンラインの間、これを行うことはできません。

別の解決策は、スワップとして大きなファイルを使用することです。(それが今日の良いアイデアかどうかわからない。)


すべてのファイルシステムが、たとえオフラインであっても縮小できるわけではありません。残念ながら、これはXFS(xfs.org/index.php/Shrinking_Support)のような一般的な選択肢に影響します。
スヴェン

@Stoneは、OSの再インストールを意味しますか?
x-man

いいえ、バックアップを作成することを意味します。
ストーン

0

1すべてのスワッププロセスをオフにします

sudo swapoff -a

2スワップのサイズを変更する

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

if = input file
of = output file
bs = block size
count = multiplier of blocks

3ファイルをスワップとして使用可能にする

sudo mkswap /swapfile

4スワップファイルをアクティブにします

sudo swapon /swapfile

5使用可能なスワップの量を確認します

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