[運用]RAMディスク導入ガイド 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 | ||
運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|