[運用]
|
|
RAMディスク活用のメリット/デメリット
メモリが安いからといって、32bit版WindowsのデスクトップPCに8Gbytesのメモリを実装しても、そのうちの4.5〜5Gbytesが使えない。大半のノートPCで上限になる4Gbytesのメモリを実装しても、そのうちの0.5〜1Gbytesは使えない。しかし、このOSの管理外にあるメモリをRAMディスクにできれば、使い方によっては性能向上が実現できるというわけだ。
PCのメイン・メモリをRAMディスクとして使う場合、電源はPC本体と連動することになるため、PCをシャットダウンすることでデータが失われる。RAMディスクを設定するユーティリティがOS上のアプリケーションやデバイス・ドライバとして動作するため、当然、OSをRAMディスクから起動することはできない(OSが起動するまでRAMディスクは存在しない)。
これに関連して、一般にパワーマネジメント(省電力管理)との相性もよくない。休止(ハイバネーション)やスタンバイ(スリープ)はサポート(保証)されていないことが大半だ。クライアントPCでは使われるメモリ・モジュールそのものがエラー訂正機能をサポートしていないため、信頼性も十分とはいえない。ソフトウェア・エラーなどにより1bitの誤りが生じても、データの信頼性を失ってしまう。
その一方、PCのメイン・メモリをRAMディスクに割り当てるメリットは、何といっても高速なストレージが手に入るということだ。SATAやUSBといったインターフェイスを利用することになる外部ストレージに対し、メモリ・コントローラに直結したメイン・メモリをストレージに使うのだから、これ以上高速なストレージ・デバイスはない。それも、使われていないメモリをソフトウェアによってストレージに見せ掛けるものであるため、コストが最小限で済む。特に、OSが認識できていないメモリを転用するのであれば、ハードウェアに関する追加コストはゼロになる。
以上をまとめると、メイン・メモリの一部をRAMディスクに用いることの欠点と利点は次のようになる。
[欠点]
・容量が限られる(現時点では事実上最大5Gbytes)。
・信頼性が必ずしも十分とはいえない。
・シャットダウンでデータが失われる。
・OSが起動するまでRAMディスクを利用できない。
・省電力管理で問題が生じることがある
[利点]
・利用されていないメモリを使うため安価である。
・メイン・メモリを利用するため極めて高速である。
これらの欠点のうち、シャットダウンでデータが失われる問題については、シャットダウン前にデータをハードディスクに書き戻すことで回避することができる。が、これがうまくいくのはあくまでもOSが正常に動作しているときだけであり、ブルースクリーンやリブートあるいはフリーズなどが発生すると、書き戻しができなくなる。例えば、Outlookの個人用フォルダ・ファイル(.PSTファイル)をRAMディスク上にコピーすることで、メールの読み書きや検索を高速化できるが、何らかの障害によってブルースクリーンやリブートなどが発生すると、それまで受信したメールなどが失われる危険性がある点に気を付ける必要がある。同様に、RAMディスク上にソースコードを置くことで、コンパイルの高速化を図ることが可能だが、開発中のまだ不安定なプログラムによりシステムが落ちると、ソースコードまで失われてしまいかねない。現実問題としては、これらには何らかの運用上の対応が必要になるだろう。
恐らくメイン・メモリを転用したRAMディスクの使い方として最もふさわしいのは、万が一消えてしまっても構わない、一時的なデータの置き場所として利用することだ。Internet Explorer(IE)の一時ファイル、TEMPやTMPといった環境変数で指定されるテンポラリ・ファイルのフォルダ、あるいはアプリケーションで指定可能なワークエリアなどをRAMディスク上に確保するのは容易である。
RAMディスク・ユーティリティを試す
さてここからは、実際にアイ・オー・データ機器のRamPhantom3(ラムファントム3)とフリーソフトウェアのGavotte Ramdisk(ガボット・ラムディスク)の2つのRAMディスク・ユーティリティを取り上げ、使い勝手について紹介することにしよう。ここで用いたシステムは、下表のような構成である。RAMディスクとの性能比較用に、現在最もポピュラーなハードディスクの1つであるSeagateのBarracuda 7200.11の1Tbytesモデル(ST31000333AS)と、高性能で知られるIntelのメインストリーム向けSSD(半導体ディスク)であるX25-M Mainstream SATA SSD 80Gbytesの2つを用意した。
プロセッサ | Core 2 Extreme QX9650 (3.0GHz、FSB:1333MHz、2次キャッシュ:12Mbytes) |
マザーボード | GIGABYTE GA-EP35-DS3R |
メモリ | 2Gbytes DDR2-800×4 |
グラフィックス | RADEON HD 4850 |
ブートHDD | 日立GST HDS722580VLSA80 (SATA) |
サウンド | REALTEK ALC889A |
LAN | REALTEK 8111B |
OS | Windows XP Professional SP3 |
比較用HDD | Seagate ST31000333AS |
比較用SSD | Intel X25-M SATA SSD |
テストに用いたシステムの構成 | |
このシステムの場合、OS管理内メモリが3582Mbytes(約3.5Gbytes)、OS管理外メモリが4608Mbytes(4.5Gbytes)となる。 |
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をインストールしてみる
|
|