« 40日でエロゲ1本を作った漢たち:HalfMoonDiaryから | トップページ | 【MikuMikuDance】最強パレパレードを踊らせてみた【Full.Ver】の紹介 »

2008/05/19

WindowsXP管理外メモリのRAMDisk化 実践レビュー

先日、一報として「32bi Windowsの管理外領域をRAMDiskに使う」として、
WindowsXPのメモリ活用における新たな活路を紹介しました。

そんな面白い事を、
私、きょこ、が実践しないわけがございません。

先の記事でも報告したとおり、
DDR2-800 (PC6400) 2GBメモリ4枚挿しで、8GBまで拡張する為に、
メモリをネットショップで発注し、5/17(土)に届きました。
早速、私の自作メインPCで実践してみたので報告します。

【PCスペック、換装前】
マザーボード
  GIGABYTE GA-965-DS4

あとは下記の通り。ポイントはメモリは2GBで、OS管理内に収めていたこと。
そしてポイント2つ目は、流し目の背景は祥子様ということ。
system_2gb

【PCスペック、換装後】

PC6400を2GB*4実装した直後、OS管理は3.50GB。
右側タスクマネージャを見ると利用可能物理メモリは2563548KB。
利用可能物理メモリは3GB前後で誤差がでるようですね。

画像クリックで大きくなるけど・・・まぁ、上に文字で書いてある通り。

system_8gb  system_8gb_task

 

 

このままでは、ただのOS管理外メモリの活用ができていない事例。
そこで「Gavotte Ramdisk まとめWiki」を参考に、
OS管理外領域を、RAMDiskとして使用するよう設定しました。

【RAMDisk認識】
まとめWikiに書いてある通りにするだけで、本当に簡単にRAMDiskが作成されました。
ただ、まとめWikiの手順ですとファイルシステムがFAT32になってしまいます。
いろいろと使い勝手を考えるとNTFSをオススメします。
同じく、まとめWikiにNTFSでのフォーマット方法は掲載されています。

下記がNTFSでフォーマットまでした結果です。
RドライブとしてRAMDiskが認識されています。
容量は4.49GB、つまり下記式の通りRAMDiskが作成された事になります。
RAMDisk(4.5GB)= 実装メモリ(8GB) - OS管理メモリ(3.5GB)

使用領域が少しありますが、フォーマット直後は当然使用領域は0になります。
下記の例は、既にRAMDiskを活用した例になっています。
image

【RAMDiskの活用】
OS管理外領域をRAMDiskとして利用できるようになりましたが、
さて、実際どのように活用するべきでしょうjか?

RAMの特性上、再起動すると保存していたデータは消えてしまいます。
したがってデータストレージには使えません。
テンポラリファイルを一時的にキャッシュする目的で活用するのが、
一番効果的な使用方法になるかと思います。


ここでまとめWikiの以下バッチは実行した方が使い勝手が良いです。
つまりNTFSフォーマットと、起動時の自動フォルダ作成です。

注意は2点
1) rdutil等はGavotteの展開フォルダにあるので、
Path通すか、展開フォルダ下でプロンプト開くと良いです。
2) 下記はRAMDiskがRドライブの場合です。

FORMAT /FS:NTFS /Q /V:RamDisk /A:512 R:
CHKDSK /L:2048 R:
CACLS R:\ /G BUILTIN\Administrators:F
MKDIR R:\TEMP
MKDIR R:\TMP
MKDIR R:\DESKTOP
MKDIR R:\SPOOL
MKDIR R:\LOG
MKDIR R:\ETC
rdutil R: registry


上記を一度実行するだけで、起動時、
RAMDiskにフォルダが自動構成されます。


1、Windows TEMP、TMPフォルダをRAMDiskに移行
Windowsアプリケーションが、一時的にデータ・中間ファイルを保存するフォルダ、
つまりTEMP、TMPフォルダはご存知かと思います。
一時利用目的ですから、電源を落としたらデータが消えても全く問題ありません。
これらtemporary目的のフォルダを、RAMDiskに移すことで利点が2つ得られます。

1) ごみが残らない
2) アクセスが高速なので、キャシュ目的で利用する場合にアプリ実行速度があがる。

前者はコマンドプロンプトで以下を実行すれば一目瞭然

dir %TEMP%

本当にtemporaryフォルダにはゴミが残りがち。
RAMDiskに移行する事で、自動削除されます。

どうやってやるの?という疑問にお答えしましょう。

システムプロパティの詳細設定タブ、環境変数を選択
system_property_kankyo

システム環境変数のTEMP、TMPを、RAMDisk上のフォルダに変更。
ユーザ環境変数のTEMP、TMPも、RAMDisk上に移行しても良いです。
私は敢えてシステム環境変数だけにしましたが。
system_kankyo_hensu

これだけでも良いんですが・・・
作法を守らぬイケイケプログラマは、環境変数を使用せず
「c:\windows\temp」とか平気でオンコーディングします。
彼らの為に、「c:\windows\temp」を、
RAMDiskのTEMPへのシンボリックリンクに変更してしまうと良いです。
正確にはジャンクションかな・・・まぁ用語はいいや(いい加減

方法はGavotteを展開したフォルダにある「rdutil.exe」を利用します。
コマンドプロンプトでGavotte展開フォルダに入るか、
rdutil.exeへのPathを通すかしてください。

その後以下を実行するだけです。

rdutil link %WINDIR%\Temp TMP

ポイントは2点
  1)「%WINDIR%\Temp」になっていること。当然ですよね?
  2)「%WINDIR%\Temp」の中身が空であること。

後者が面倒ですね。
リンク貼る前に、TEMPフォルダの中身を削除する必要があります。
とはいえ今実際にTEMPフォルダとして使用している場合、
実行中のアプリケーションがファイルを掴んでいるので、
綺麗に削除する事ができません。
そこで環境変数をRAMDiskに変更した後に、
一度、再起動してから、
「%WINDIR%\Temp」のファイルを削除してみてください。

効果は・・・あんまり実感はできません(笑)

 

2、デスクトップのRAMDisk移行

基本的にオススメしない。
デスクトップってファイル置きっぱなしにする人多いでしょ?
意図しない電源OFFが起こったときに、デスクトップ上に一時保存したファイルが
全て消えてしまうと問題かと思います。

クリーンデスクトップを目指す方は、デスクトップをRAMDiskに移行してよいかと。

とはいえ実験で実施してみました。
方法は前項のTEMPフォルダの移行と方法は同じようなもんです。
例えばユーザ名が「きょこ」のデスクトップは以下パスになりますね。

C:\Documents and Settings\きょこ\デスクトップ

こいつをシンボリックリンク、ジャンクションで、
RAMDisk下に用意したフォルダ R:\DESKTOP にリンク貼るだけです。

アーカイブ(解凍・圧縮)ソフトの出力先をデスクトップにしていたり、
ブラウザのDL先をデスクトップにしている場合は、効果は少しは出るかも。

 

3、DVDリッピング、エンコードの一時フォルダとしての利用

これが一番効果的な使い方のように思えたり。
実験として洋画ドラマの名作「フレンズ」のDVD1巻から

DVD Decrypterで、FILEモードでリッピングします。
system_ripping

1-1)HDDにリッピング
21:34かかりました。
system_ripping_hdd

1-2)RAMDiskにリッピング
21:30かかってます
・・・DVDアクセスに縛られるRippingでは効果は無いということですね。

system_ripping_ramdisk

続いて上記リッピング結果からd2vを作成します。
実験なので音声は44.1KHz変換しません。

2-1)HDD上のリッピング結果(1-1)からd2v作成。HDDに結果保存
7:25かかりました。
system_d2v_hdd

2-2)RAMDisk上のリッピング結果(1-2)からd2v作成。RAMDiskに結果保存
5:41で終了しています。1分半以上短縮しています。
system_d2v_ramdisk

単純にHDDとRAMのアクセスでここまで変わるという結果。

最後に、エンコードです。
HDDとRAMDiskの差を計測する事が目的なのでCodecは適当に選択。

3-1) HDDのソースでエンコード
1時間18分でエンコード終了
エビデンスアップしようと思いましたが、
aviutlがエンコ時間表示してくれないので、普通に時間計測しました。

3-2) RAMのソースでエンコード
1時間15分でエンコード終了・・・3分だけ早かったんですけど・・・

・・・誤差の範囲内だよね?これ?
非常にお粗末な結果になってしまった。

ディスクアクセス程度じゃ、変わらないもんだね。

そのうちゲームのデータをRAMに突っ込んで実験してみようかしら。
ネトゲのローディングが早くなるかも・・・
同じように殆どかわらないような気もしなくもないけど。

|

« 40日でエロゲ1本を作った漢たち:HalfMoonDiaryから | トップページ | 【MikuMikuDance】最強パレパレードを踊らせてみた【Full.Ver】の紹介 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/49030/41252597

この記事へのトラックバック一覧です: WindowsXP管理外メモリのRAMDisk化 実践レビュー:

« 40日でエロゲ1本を作った漢たち:HalfMoonDiaryから | トップページ | 【MikuMikuDance】最強パレパレードを踊らせてみた【Full.Ver】の紹介 »