2010年 12月 16

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

More from my site

  • Gunma.web#13に行ってきたよGunma.web#13に行ってきたよ Gunma.web #13 : […]
  • 仮想化 XenとKVM(Kernel-based Virtual Machine) どちらを使うか?仮想化 XenとKVM(Kernel-based Virtual Machine) どちらを使うか? KVMはCPUに影響される エンジニアなら知っておきたい「仮想マシン」のしくみ v1.1 (hbstudy 17) こちらのスライドの49ページ、「CPUアーキテクチャに応じた仮想化技術の選択」によれば、Core i7 又は、Xeon 5500(Nehalem)以後ならKVM≒Xenのようだ。 パフォーマンスを気にするなら Core i7 又は、Xeon […]
  • 仮想化対応CPUか確認する Intel VT仮想化対応CPUか確認する Intel VT 仮想化するのに VMware とか KVM とか Xen とか様々な方法があるけど、最新の仮想化技術ではプロセッサに Intel VT といわれる仮想化支援機能が必要らしい。 つまりハードウェアが対応していないと利用できないということ。 CPU の事なんか全くの無知なので、調べる術をメモ。 CPUの情報を表示するコマンド cat […]
  • YAPC::Asia 2014に行ってきたよ!2日目YAPC::Asia 2014に行ってきたよ!2日目 2日目も参加しました! 聞いた、参加したトーク&イベント オープンソースの開発現場 - Perl 5.20 のSubroutine Signaturesが来るまでの奮闘の軌跡 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情 地域.pmミートアップ 2014 Perlあるある Mobile Application […]
  • #yapc8oji 行ってきた#yapc8oji 行ってきた YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa 2016/7/2 - […]
  • FirefoxOSアプリハンズオンに行ってきたFirefoxOSアプリハンズオンに行ってきた Firefox OS アプリハンズオン supported by Gunma.web 2015-03-28(土)13:00 - 18:00 ハッシュタグ: #fxos #gunmaweb 今回はGunma.web初のスピンオフ勉強会となる、FirefoxOSのハンズオンに参加しました。 FirefoxOSで作るアプリはHTMLとJavaScriptで出来ている ≒ […]

Filed under: LINUX

Trackback Uri



コメントする