Windows 7(32bit)にGavotte RamdiskでOS領域外のメモリを使う

2011-10-22

Panasoinic Let'sNote CFーR8W は、Windows 7 Professional 32bit なので、メモリを4GBにしてもWindows 7で使用可能なメモリは、3.4GB となる。OS領域外のメモリを RamDisk として利用する為に Gavotte Ramdisk をインストールしました。

20111020_0003

ところが、Windows 7 領域外メモリを使うには、インストールしただけではダメで、ちょっとした設定が必要でした。CrystalDiskMark の結果は、4kランダム 512kランダムの速度が極端に遅いのですが、これはWindows 7 領域外のメモリを使う場合仕様なんだそうな・・・

32bit版Windows管理外のメモリをRAMディスクとして使える Gavotte Ramdisk の使い方は、Gavotte Ramdisk まとめWIKI を参考に設定をしました。
まとめWIKI から 7-Zip圧縮された Gavotte_RAMDisk_1.0.4096.5_20081130 をダウンロードして、7-zip を使って解凍しました。

このソフトウェアは、中国製のフリーウェアです。少し古いのですが、Windows 7 でも動作するようです。大変便利なソフトウェアですが、何かと問題が出る場合がありますのでそのつもりでお試しください。
Windows 7 x64 にインストールする方法もありますが、x64 なら Dataram RAMDisk の方がオススメです。

20111022_0014

Windows 7 で実装メモリ 4GB と表示されているので H/Wは認識しているが、3.4GB 使用可能で、残りの 約700MB は未使用となっている。使わなくても電池は食っている訳で、SSDのアクセスを減らす為にも Ramdisk が必要だ。

1.Gavotte Ramdiskインストール
ram4g.reg を実行してレジストリに下記のキーが追加されます。
HKLM\System\CurrentControlSet\Services\RRamdisk\Parameters\

20111022_0004

20111022_0005

続行しますかと確認されるので[はい]をクリックする。

20111022_0006

ramdisk.exe を右クリックして管理者権限で実行します。Disk Size は、生成する RamDisk のサイズを指定します。Disk Size 512MB、Fixed Media で [Install Ramdisk] をクリックすると、「Success」と表示されて、R:(RamDisk) が生成されました。ここで、再起動しておく方が良いらしい。

20111022_0013

20111022_0003

リソースモニタを見ると空きメモリが減少しているようで、Windows領域外のメモリに配置されていないようだ (これは、後に解決しましたが、ここで解決しておかなかったので、筆者の環境では、Ramdisk の再設定ができなくなってしまいました)。

[Remove Ramdisk]  [Install Ramdisk] をクリックして、メモリ使用量にRamdisk容量相当の増加がある場合は、OS認識外への割り当てに失敗していると判断できます。

Disk Size に Windows 管理外の領域より小さなサイズを設定すると、自動的に管理外の領域を全て Ramdisk に割り当ててくれるのだそうです。16MB で作成して、16MB 以上のRamdisk が生成されればOS領域外に配置できたと判断できますね。

Ramdisk が Windows管理外の領域に配置できている場合は、3.へ

2.Windows7 領域外のメモリを有効にする

20111022_0007

Windows Vista、Windows 7 では、管理者権限でコマンドプロンプトを起動して以下のコマンドを入力します。

bcdedit /set {current} pae ForceEnable

再起動後、[Remove Ramdisk]  [Install Ramdisk] をクリックしてもメモリ使用量が変化しなくなりました。

20111022_0008

もしも、Windows が 3Gちょいしか認識していない場合は memory remap をする必要があるそうで、BIOS設定で memory remap、use 4G、H/W memory hole Remapping 等の設定を Enable に変更する必要があるという。
Let'sNote のBIOS にはこれらに関する設定がありませんでした (古いMBの場合は設定が必要かもしれません)。

3.NTFS に設定する
Gavotte Ramdisk はFAT32 で R:(RamDisk) を生成しますが、61氏のバッチを使うと、NTFS に変更する事が可能となります。
GeekなNooblog さんの Gavotte Ramdiskインストール設定方法 を参考にさせていただきました。

setup_user.bat をダウンロードして GavotteRamdisk と同じフォルダに入れておきます(ここでは、C:\util2\Gavotte Ramdisk にまとめました)。管理者権限でコマンドプロンプトを起動して、setup_user を実行します。

内容は、以下の通りです。

@echo off
set /p DRIVE="RAMDISKを作成したドライブレターを入力してください ex)R  :"
FORMAT /FS:NTFS /Q /V:RamDisk /A:512 %DRIVE%:
CHKDSK /L:2048 %DRIVE%:
CACLS %DRIVE%:\ /G BUILTIN\Administrators:F
CACLS %DRIVE%:\ /E /G BUILTIN\Users:F
echo "RAMDISKに好きなようにフォルダを作成して下さい。完了したらエンター"
pause
rdutil %DRIVE%: registry
echo "完了!"
pause

20111022_0010

[setup_user の解説]
FORMAT:NTFS 512B/sec でRamDisk という名前でクイックフォーマットします。
CHKDISK:ログ・ファイル・サイズを2048KBに変更
CACLS:アクセス権限の設定

”RAMDISKに好きなようにフォルダを作成~” と表示されたら、R:(RamDisk) に起動時に作成しておきたいフォルダを作成します。
\TEMP\ChromeCache\ を作成して[Enter] を押すと、rdutil.exe (Gavotte Ramdiskに付属) を使って、フォルダ構成をレジストリにパックして記憶します。なかなか便利ですね。
パックした状態で 64KB 以下にする必要があるそうですので、フォルダを作成するのみでファイルを置くことはできません。
R:(RamDisk) の内容は電源をOFFすると消えてしまいますが、NTFSのフォルダ構成は自動的に復帰します。

4.mklinkでシンボリックリンクをRamdiskに設定
Google Chrome のキャッシュを変更するには、起動オプション "--disk-cache-dir="R:\TEMP""を追加する必要があります。リンクをクリックしないでChromeを起動すると元のキャッシュに戻ってしまう問題がありました。
Windows 7 では、mklink コマンドでシンボリック・リンクを作成すると簡単にキャッシュを移動する事ができます。

mklink [[/D] | [/H] | [/J]] リンク ターゲット
/D: ディレクトリのシンボリック リンクを作成します。既定では、ファイルのシンボリック リンクが作成されます。
/H: シンボリック リンクではなく、ハード リンクを作成します。
/J: ディレクトリ ジャンクションを作成します。
リンク: 新しいシンボリック リンク名を指定します。
ターゲット: 新しいリンクが参照するパス (相対または絶対)を指定します。

20111022_0011_2

mklink /d "C:\Users\(ユーザ名)\AppData\Local\Google\Chrome\User Data\Default\Cache" "R:\TEMP\ChromeCache"

コマンドが長いので .bat ファイルを作成して管理者権限で実行しました。

20111022_0012

なお、mklink を実行する前に、リンク元のフォルダを削除しておかないとエラーになります。

環境変数のTEMP, TMP についても mklink で R:\TEMP にリンクできるハズですが、PCを再起動しても、TEMPへアクセスがあるのでリンクを削除する事ができません。

20111022_0016

20111022_0017

ここは素直に TEMPとTMP を R:\TEMP に変更しました。再起動した後は、
C:\Users\(ユーザ名)\AppData\Local\Temp
C:\Windows\TEMP
を削除する事ができます。

IE8/9 のキャッシュはインタネットオプションの全般-閲覧履歴にある[設定]を開き、[フォルダーの移動] で R:TEMP を選択して[OK]します。

FireFox の方は、URL欄に "about:config" を入力して、フィルタ欄に"browser.cache.disk"を入力します。"browser.cache.disk.parent_directory"がある場合は、値に"R:TEMP"を入力します。エントリが無い場合は、 適当な場所で[右クリック] - [新規作成] - [文字列] で "browser.cache.disk.parent_directory" を作成し 値に"F:TEMP"を入力して FireFox を再起動すれば、OKです。

5.GavotteRamdisk は色々問題が・・
Windows 7 領域外のメモリが約700MBあるので、とりあえず 512MB で R:(RamDisk) を作成しました。後から 16MB に設定して、自動的に管理外の領域を全てRAMディスクに割り当てようと [Remove Ramdisk] で R:(RamDisk) を削除しました。しかし、[Install Ramdisk] をクリックできません。

20111022_0006

[Remove Ramdisk] した後、再起動すると R:(RamDisk) がまた復活してしまいます。おそらく rdutil.exe が悪さをしているのだと思いますが、readme.txt の説明は良く判らないので、止める方法が不明。
アンインストールできない場合は、C:\Windows\System32\drivers\rramdisk.sys を削除すると良いらしいので、削除すると再起動しても R:(RamDisk) の生成を止める事はできました。しかし、 [Install Ramdisk] をクリックできる状態にはなりません。
regeidt で "rramdisk" を検索して関係しそうなキーをバックアップを取った後に削除してみましたが、不安定になるばかりでアンインストールを断念しました。512MB で使う限り問題はありませんが・・・

このような問題が発生する事を承知の上、Gavotto Ramdisk をご利用ください。何かの参考になれば幸いです。

続き Windows 7でSSDドライブをスリムにする10の方法 を読む >>

関連記事

トラックバック

コメントの投稿

非公開コメント

No title

3.NTFS に設定する の上の文章で、
Let'sNote のBISO にはこれらに関する設定がありませんでした ・・・という文章の「BISO」は「BIOS」のタイプミスだと思われます。

No title

通りすがりさん、コメントをありがとうございます。
訂正しておきます。

カレンダー
08 | 2023/09 | 10
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
最新コメント
カテゴリ
検索フォーム
RSSリンクの表示
リンク
月別アーカイブ
プロフィール

magumataishi

Author:magumataishi

トヨタ ハリアー、スズキ ハスラー、ダイハツ タントのチープな改造ネタを公開。バイクはヤマハ TDR125。OPPO Reno5 A、PC周辺機器、デジタル一眼、電子工作、PCオーディオ、ホームシアター、TEAM SHACHIなどの雑記です。 Since 30,Apr 2017

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文: