Saturday, May 17, 2008

Gavotteで超高速大容量、OS管理外領域のRAM diskを作成した

先週postした件について、実際試してみました。改めて、まとめwikiはこちら。
今までデスクトップのメモリは2GBだけだったのですが、 今日、これを試したいがために秋葉のソフマップでメモリを8GB(2GB2枚組セットx2)買ってきて取り付けました。 ちなみに計15,560円。 DDR2の値崩れのおかげでこんなにも安価に手に入りました。 以下、スレのテンプレにならって報告。

----
【導入driver】 Gavotte_RAMDisk_1.0.4096.4_2008-01-25.zip
【Memory】 CFD Elixir DDR2 PC2-6400 CL5 / 2GB / 4本
【M/B】 Gigabyte 965P-DS3 / BIOS ver. F10
【CPU】Intel Core 2 Duo 6420 @2.13GHz (定格)
【OS】 XP x86 SP3
【boot.ini】 /noexecute=optin /fastdetect

【認識】 OS認識容量: 3.25GB + RAMDrive設置容量: 4.74GB
【S3/S4】 使ってない
【PF使用量は増加したか?】チェックするの忘れたw
【備考】 何も考えずやってみましたが、特に何の問題も無く動いてくれているみたいです。

--------------------------------------------------
CrystalDiskMark 2.1 (C) 2007-2008 hiyohiyo
Crystal Dew World : http://crystalmark.info/
--------------------------------------------------

Sequential Read : 3979.946 MB/s
Sequential Write : 2331.527 MB/s
Random Read 512KB : 2411.987 MB/s
Random Write 512KB : 1798.907 MB/s
Random Read 4KB : 45.441 MB/s
Random Write 4KB : 43.538 MB/s

Test Size : 50 MB
Date : 2008/05/17 21:19:59
----


参考までに、うちのHDDでベンチをとるとこうなります。

----
Sequential Read : 61.266 MB/s
Sequential Write : 24.439 MB/s
Random Read 512KB : 22.693 MB/s
Random Write 512KB : 19.466 MB/s
Random Read 4KB : 0.394 MB/s
Random Write 4KB : 0.977 MB/s

Test Size : 50 MB
Date : 2008/05/17 21:14:39
----

当たり前っちゃ当たり前ですが、2桁違いますね。 素晴らしいツールをありがとう。

Saturday, May 10, 2008

32bit Windows上のRAM diskで4GBの壁超え

ウォッチしていたRAMディスクスレで大きな動きがあった。

予兆
129 名前:名無し~3.EXE[sage] 投稿日:2008/04/29(火) 23:45:10 ID:L/YNIU10
32bitXPのPCに2GB*4のメモリを積んで、OS管理メモリ2GB+RAMディスク6GBって使い方はできるの?

130 名前:名無し~3.EXE[sage] 投稿日:2008/04/29(火) 23:46:19 ID:v1hSZ5a6
できない

131 名前:名無し~3.EXE[sage] 投稿日:2008/04/30(水) 00:36:24 ID:bxJd0IcX
それができたらとりあえず4ギガ積んだうちの2ギガを
RAMディスクに充てる奴だらけになってたろうな。
漏れも64bit版WINに手を出さなかっただろう。


132 名前:名無し~3.EXE[sage] 投稿日:2008/04/30(水) 01:57:27 ID:iAWe3Ok1
32BITだとメモリ最大4GBまでだっけ???
xpが3GBまで認識だったかな?

133 名前:名無し~3.EXE[sage] 投稿日:2008/04/30(水) 05:12:29 ID:7LwW/6YR
32bitOSだと3.2~3.4GBくらいまでしか認識できない

134 名前:名無し~3.EXE[sage] 投稿日:2008/04/30(水) 05:25:26 ID:MXj76vAw
俺の32bit XPの方は2.75GBしか認識しない。何度か再起動してると3.25GB認識したりするけどw
32bitでもW2K3 EntみたいにPAE使って36bitアクセスできるRAMディスクドライバがあればいいのに

135 名前:名無し~3.EXE[sage] 投稿日:2008/04/30(水) 05:32:57 ID:mB1EZwxh
GavotteのPAEオプション使えばいいんじゃないの?違うん?
そして神レスが。
175 名前:名無し~3.EXE[] 投稿日:2008/05/08(木) 01:59:09 ID:TQsohD7I
32bitXPではできないと決め付けているようだが、
2GB*2+1GB*2のメモリを積んで、OS管理メモリ2.87GB(VRAM128MB)+RAMディスク3GBで使用中。
SP2(一ヶ月)>SP3(二週間)特に不具合なし。

178 名前:名無し~3.EXE[] 投稿日:2008/05/08(木) 02:29:52 ID:TQsohD7I
凡体諸衆
Gavotte_RAMDisk_1.0.4096.4_2008-01-25.zipのreadme.txtのChangeLogに書いてある。
決め付けない、思い込まない、調べてみる、試してみる、を実践した結果。
健闘を祈る。
32bit Windows は、4GB以上認識することはできない(Pentium II以降あたりから実装されてるメモリ空間の36bit拡張を使えば32bit OSでも4GB超えは可能なはずだが、政治的な理由によりコンシューマ向けWindowsではサポートされていない)。だからこのOS上で動くドライバで4GBの壁を越えることは素人目には不可能に見えるのだが、そうではないらしい。
362 名前:名無し~3.EXE[sage] 投稿日:2008/05/09(金) 15:50:45 ID:Glap9QDu
何でこのソフトだけがそんな芸当できるのかが謎。
OS上のドライバでOS管理外のメモリを弄れるとかどうなってるんだろ


380 名前:名無し~3.EXE[sage] 投稿日:2008/05/09(金) 16:25:55 ID:eQPCdyUk
>>362
ドライバ屋さんがきましたよ。ちょっとデバッガ走らせて動き観察したので解説

割と昔からある技術でOS管理外のメモリは
仮想アドレスとしては割り当てされないけど物理アドレスは有効なので
DDKの関数でMmGetPhysicalAddressなりMmMapIoSpaceなりでできるよん。
DirectXも似たようなことやってるじゃん。ビデオカード上のVRAMにアクセスしたりとか
あれもOS管理外のメモリでしょ。
ともかくこのGavotteというツールを使って4GB超えする方法のまとめが出ていたので貼っておきます。

527 名前:名無し~3.EXE[sage] 投稿日:2008/05/09(金) 20:15:34 ID:8z2xhrzj
ここまでのまとめです。S3 S4はただいま検証中。

■結果と利用方法
OSの認識メモリが8Gとかになるわけではありません。
4G搭載している場合OS認識メモリ(3Gちょい)+RAMディスク(約700メガ以上可能) が使えます。
8G搭載している場合OS認識メモリ(3Gちょい)+RAMディスク(約4.7ギガ以上可能) が使えます。
利用すると IE等のキャッシュ用途、ゲームのローディング解消、等
HDDの読み書き速度がボトルネックになる部分が解決されます。
具体的にはゲームで5秒~10秒のNowloadingと表示されていた部分がほぼ0に近くなります。

■基本のやりかた >>199より
ttp://www.badongo.com/jp/file/7201826 をDL解凍
ram4g.regを実行 ramdisk.exeを実行 FixedMediaを選択 16MBなり適当に指定>OK >再起動

補足
指定サイズはOS領域外メモリより小さいと自動的にOS領域外メモリまで引き上げられます。
OS領域外メモリより大きい場合、領域外メモリ+不足分を領域内メモリから引っ張ります。
例 16MB指定→領域外700MB→自動的に700MB
   2G指定→領域外700MB→領域外700MB+OS領域内から1300MB

■↑をやってOS認識内メモリから使っちゃう場合の対処方法
マイコンピュータ>プロパティ>詳細設定>起動と回復 設定
起動システム>編集 に/pae /noexecute を追加する
例 ~Microsoft Windows XP Professional" /fastdetect /pae /noexecute
↑のramdisk.exeからRemoveRamDisk後、再起動→基本のやりかた→再起動

■動作報告のあったマザボ
BIOS側で4G認識をしていれば可能かも?
MSI P35-DS3R Rev.2.0 F12f  MSI P35-Noe2-FR MSI P35 Neo (MS-7360)
P5B-Deluxe P5K-E M2A-VM HDMI  GA-P35-DS3L  965P-DS3 AM2NF6G
GA-K8N Ultra-9/NForce4/GA-K8N Ultra-9 F9c
Sequential Read/Write, Random Read/Write 512KB はDDR時代のマシンでも軽く1GB/s以上出るが、Random Read/Write 4KBは60MB/s~とだいぶ遅くなる模様。これは間に入る余計な処理が原因らしい。もちろんそれでも十二分に恩恵はあるものだと思いますが。
372 名前:名無し~3.EXE[sage] 投稿日:2008/05/09(金) 16:10:53 ID:INp1sjF3
windowsのページングファイルは入力・出力も4KB事だよな-
GavottoのRAMディスクにページングファイル置いてはいかんような

376 名前:名無し~3.EXE[sage] 投稿日:2008/05/09(金) 16:15:22 ID:Wf7V/xF6
>>372
4KBランダムがRAMDISKとしては凄く遅いとしてもうちでは120MB/sくらい出てるから
HDDの30~40倍くらい早いのでHDDよりはマシかなと思った。

377 名前:名無し~3.EXE[] 投稿日:2008/05/09(金) 16:18:04 ID:lrxEJVvU
OSの管理外のメモリへアクセスするためには、OSのリード・ライト依頼が来るたびに
リング0へ遷移して、BIOSのFunction噛ませるから、原理的に遅いのは当然。


私の自宅PCのマザーは8GBまで認識できるので、DDR2メモリが安いうちに2GBメモリ4枚買ってきてそのうち試してみるつもりです。Temporary folderやゲーム関係をRAMディスクに放り込んでおくくらいしか個人用途としては思いつきませんが、今のようにメモリが安ければ気軽に遊べます。これがその通り動くのであれば、高速ストレージを必要としているがハード/ソフトの縛りで32bit Windows XP/Vistaを使わざるを得ない計測実験用PCにも十分使えるでしょう。


追記
まとめwikiできてた。