Linux のswap領域の謎
OSをインストール際に悩むのがパーティションの容量設定。物理メモリが大量に搭載される昨今、通例の「メモリの2倍」をswapに適用すると8Gメモリなら16Gものディスクを消費してしまう。
物理マシンならまだしも、(それでもSCSIやSASなどのディスクを消費するのはどうかと思うが)仮想環境で仮想ディスクを使う場合、swap領域の確保の為にイメージディスクのサイズを大きくしなくてはならない。
サーバ用途として利用する場合、swapを使うような状態になるとほぼ運用できないくらいのパフォーマンスになってしまう。最低限のswap領域を確保しておけばいいのか調べてみる。
最低500M?それとも物理メモリと同程度?
その1
swap領域を最低500M確保しておけばいいという記事を見かけた。
スワップ区画のサイズはどのぐらいに設定すべきでしょうか - Linux Q&A:ITpro
もっとも物理メモリー量そのままのサイズがスワップ区画に必要なわけではありません。/sys/power/image_sizeに設定されるサイズ(標準では500Mバイト)までメモリー・イメージをシュリンクしてからスワップ区画に書き出します。そのため,500Mバイトあれば十分です。
その2
linux DBサーバのswapの容量について(ORACLE)
Oracle Databaseの場合だが、このような記事も
Oracle Databaseのインストール前の要件
RAM スワップ領域
1024MB~2048MB RAMのサイズの1.5倍
2049MB~8192MB RAMのサイズと同じ
8192MB超 RAMのサイズの0.75倍
それでも実メモリと同等程度のswap領域を確保する必要がありそう。
その3
Linux での swap の容量について - @nifty教えて広場
Linux ではそんなことはなく、メモリが多ければ swap なしでも問題なく動くとつい先ほどまで信じていたんですが、「Linux教科書 LIPCレベル1 (ISBN4-7981-0292-X)」という本を買って、swap に関する説明を見たら「スワップ領域は塔載メモリと同程度を確保します。」と書いてありました。
このQ&Aでの回答に
OSの使用量+同時稼動させるアプリの使用量の総和が実メモリ以下ならswapは要りません。ただ、そんな計算は事前にちゃんと出来ないでしょうから、最初はswapを作らないで、メモリ不足が出てから作るか、ある程度(2倍は要らないでしょうが)作っておいて使用量をモニタして不要そうなら削るか、どっちでもいいと思います。
と、まぁ不足してから作るか、ちょっとだけ用意しておけばいいんじゃね?的な回答が。
Linuxの場合、物理メモリが多ければswapは必要ないのだろうか?