Linuxのswapパーティションの容量 仮想マシンの場合は?

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は安いなぁ。