[運用]

RAMディスク導入ガイド
── RamPhantom3とGavotte Ramdiskの使い勝手と性能 ──

1.いまRAMディスクが注目される背景

元麻布 春男
2009/01/22

 年々、プロセッサの処理性能が向上する一方で、ハードディスクの性能はここ数年(シリアルATA IIがリリースされた2004年以降)、ほとんど向上していない。そのため、システムの中でハードディスクの性能がボトルネックになりつつある。そこで、高速なメイン・メモリの一部でRAMディスクを作成し、仮想的なハードディスクとして活用するというアイデアが再び注目を集めている。

 RAMディスクというアイデアは、MS-DOSが使われていた1980年代、ハードディスクが非常に高価であまり普及していなかったころによく活用されていた。当初はMS-DOSの管理下にあるアドレス空間(640Kbytes以内)をバンク切り替えで利用する方式(アイ・オー・データ機器によるI/Oバンク方式)が普及したが、後に640Kbytesより上位の空間にバンクを用意するEMSや、プロテクト・モード用メモリを利用するXMS方式のものが普及した。ベテラン・ユーザーには懐かしいトピックかもしれない。その後、ハードディスクが安価になることで普及し、かつその大容量化と高速化が急速に進んだことから、RAMディスクはあまり使われなくなった。

 しかし32bit版Windowsでは、後述のように利用できないメモリ領域が存在すること、メモリ価格、特にPCメイン・メモリの主流となっているDDR2 SDRAMの価格低下が止まらないことから、再びRAMディスクに注目が集まっている。そこで、ここでは2種類のRAMディスク・ユーティリティを取り上げ、使い勝手などを紹介する。

メモリの低価格化と32bit版Windowsで利用できないメモリ領域

 最も普及しているPC2-6400(DDR2-800)メモリの場合、現在の実売価格は1Gbytes DIMMが1000円以下、2Gbytes DIMMが2000円以下、というところだ。いずれにしても、2006年末に1Gbytes DIMMが1万円を超えていたことを考えると、わずか2年あまりで10分の1以下に暴落したことになる。この2年を見れば、2Gbytes DIMMの暴落率はもっと大きい。これだけメモリが安くなると、メモリを増設することでシステムの性能改善を図ろうと誰しもが考える。一般的なデスクトップPCの場合、DIMMソケットは4本あり、安価な2Gbytes DIMMをインストールすると合計8Gbytesのメモリが搭載可能だ(古いシステム、低価格システムではチップセットの制限により4Gbytesが上限となるものもある)。2本のDIMMソケットを備える最近のノートPCでも、2Gbytes DIMMを用いて最大4Gbytesのメモリが実装できる(PCメンテナンス&リペア・ガイド:第2回PCのケースを開けて実際にメモリを増設してみる)。

 大量のメモリを何に使うか。最良の使い道は、すべてをOSに認識させ、OSの管理下に置くことだ。次に何が起こるのか、何が起こりそうで、何を用意すればよいのか、それを知っているのはOSであるからだ。データをキャッシュするなり、必要なコードをフェッチするなり、OSが判断して処理することが最も望ましい。それがどれくらいうまくいくか、性能が向上するのかは、OSにかかっている。

 ところが、現在の主流である32bit版Windowsは、これができない。Windowsが賢くメモリを使えるかを議論する以前に、32bit版Windows(クライアント向け)が認識可能な物理メモリは基本的に最大4Gbytes(4Gbytes = 32bit)に制限されているからだ(「Windows Q&A:32bitプロセッサは4Gbytesを超える物理メモリをサポートできないのか?」参照のこと)。せっかく増設してもメモリは電力を消費するばかりで、有効に活用されることはない。

 OSを64bit版Windowsに切り替えれば、すべてのメモリが認識されるが、今度は別の問題が生じる。デバイス・ドライバやアプリケーションの中には、64bit版Windowsに対応していないものが少なからず残っており、これらとの互換性を重視すると、おいそれと64bit版Windowsへと移行できない。

 前述のとおり、32bit OSは4Gbytesのメモリ空間をアクセスできるが、これらをすべてメモリ領域として使えるわけではないという問題もある。32bit OSがサポートする4Gbytesのアドレス空間は、メイン・メモリ以外に、グラフィックス・カードなどさまざまな周辺機器がI/O目的に利用する。どれだけ利用するかはシステム構成に依存するが、たとえ4Gbytesのメモリを実装していても、Windowsで利用できる(OSで管理される)メモリは3〜3.5Gbytesの間になることが多い。いい換えると、4Gbytesのメモリを実装したシステムに32bit版Windowsをインストールすると、0.5〜1Gbytesのメモリが実際には利用できず、無駄になるわけだ。

x86アーキテクチャのメモリ・マップ
4Gbytes以上のメモリを実装していても、約3Gbytesから4Gbytesの領域は、PCIデバイスやグラフィックス・カードなどさまざまな周辺機器がI/O目的に利用するため、32bit版Windowsからはメイン・メモリとして利用できない。つまりOS管理外のメモリということになる。


 INDEX
  [運用] RAMディスク導入ガイド
  1.いまRAMディスクが注目される背景
    2.RAMディスクのメリットとデメリット
    3.細かい部分が配慮されたRamPhantom3
    4.上級者向けだが性能の高いGavotte Ramdisk

 運用

@IT Special

- PR -

TechTargetジャパン

Windows Server Insider フォーラム 新着記事
  • Windows 10のUIをWindows 7風にする (2017/6/28)
     Windows 10に移行したものの、UIに慣れない。そんな場合は、Windows 10のUIを慣れたWindows 7に合わせよう。設定やユーティリティーでどこまで近づけられるのか?
  • 第552話 怖い話 (2017/6/27)
     なにぃ、会社のトイレにお化けが出るって? あー、バカバカしい。ホラー映画の観過ぎじゃないの、まったく……
  • Azure SQL DBのインデックスやキャッシュを制御する (2017/6/26)
     Azure SQL Databaseのインデックスやプロシージャキャッシュを制御するには、そのためのT-SQLを直接実行する。知っておくと便利なT-SQLを紹介する
  • DNSのリゾルバ/キャッシュ/フォワーダ機能 (2017/6/23)
     今回は、DNSサーバのクライアント側であるリゾルバやキャッシュの機能について見ていく。リゾルバは、コンテンツDNSサーバに繰り返し問い合わせて名前解決を図る
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

ホワイトペーパーTechTargetジャパン

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間
ソリューションFLASH