Linuxのswapパーティションの容量 仮想マシンの場合は?
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は必要ないのだろうか?
「物理メモリの2倍程度」ってのは昔の4Mとか8Mとか少ないメモリで稼働するUNIX系のOSから流れからきているらしい。稼働するアプリケーションによって異なるので一概に言えない・・・という前提があるようだ。
記事自体も古いものが多いので、いかんせん解決しない。
仮想環境下でのswap
ServersMan@VPS swapが設定できない(泣: プログラミング関係ごちゃごちゃメモ
こちらの記事中に
ただ、ServersMan@VPS は標準のままではswapが全く設定されていないようです。
のように書かれていたのでVPSで提供されている構成を調べてみる。
sakura 2G(自分でOSインストールすれば変更可?)
ServersMan 無し
つまり、swap無しでも運用は可能という事でしょうか。
当然割当メモリが少なければ動かせるサービスも限られるのでしょうけど。
しかし、VPSは安いなぁ。
-
前の記事
仮想化 XenとKVM(Kernel-based Virtual Machine) どちらを使うか? 2010.11.20
-
次の記事
CentOS5.5 x86_64 環境で RaidMan を使う @IBM eserver X3550 2010.12.18