2009-01-25 [長年日記]
_ [Comp] RAMDISK が UMA と干渉する件
RAMDISK を100%埋めようとすると UMA として確保した領域を上書いてしまう模様。画面にゴミが出るだけぐらいならいいのですが、書き込んだデータが壊れてしまうのでこれは放置できません。
ERAM の設定画面の [開始位置指定] で UMA 指定分ずらしてやればいいのかと思ったのですが、何度修正しても干渉してしまう。なぜ? と思いながら色々試した結果、開始位置をずらした分ディスクサイズの方も減らさないと効果がないことがわかりました。
UMA 分だけずらせばいいのかと思っていましたが、A7DA-S の場合はそういうわけでもないようで、どれだけずらせば干渉しなくなるか正確な値がよくわかりません。なので、ちょっと面倒ですが、ディスクサイズ、開始位置を以下のように求めました。
- ディスクサイズを十分大きな値(16GBとか)にして起動
- ドライブのプロパティ等で、確保されたディスクサイズを表示してメモする
- <(2)のサイズ - 1GB(=1,073,741,824)> をディスクサイズに、<(2)のサイズ + 1GB> を開始位置指定に指定して再起動
- 起動したら RAMDISK を適当な方法で100%埋める。問題がなければ終了
- 問題がある場合は、(3)で増減させたサイズの1/2をさらに増減させて再起動
- (4)(5)を気が済むまで繰り返す
勘でサイズを指定してもいいのですが、サイズを半分ずつ詰めていく方法のほうが早いんじゃないかなと思います。面倒ならちょっと大目に512MBぐらいずらしてやれば多分大丈夫だとは思いますが。
ディスクを埋めるために makedummy というツールを使用しました。コマンドラインから起動できるので、スタートアップにバッチファイル等で仕込んでおけば楽ができると思います。-m オプションを指定しないとファイルサイズのみ確保してデータを埋めてくれないので注意。
A7DA-S は内蔵グラフィックスを使用する場合は UMA 無しにできないのが残念ですね。意外とかゆいところに手が届かない BIOS のように感じました。まあ素直にビデオカードを増設すればいいのでしょうが、静音省電力マシンなので可能な限り内蔵の機能で済ませたい訳で。
RAMDISK と VRAM 干渉って、昔 MSX2 でやって以来20年ぶりぐらいです。懐かしすぎ。超低速な FDD しかなかったので、RAMDISK は本当に貴重でした。当時は VRAM128KB の領域を無理やり RAMDISK にしてなんとかやってたのですが、今はメインメモリが GB 単位ですからね。便利になったものです。
a7da-sを購入してramdiskに挑戦しようと思うのですがオンボードの場合UMAと干渉するみたいですね。Gavotteで設定しようと思っていますがUMAってメモリの使用位置って固定なんでしょうか?<br>使っていて最初に設定した位置から変わる事はないですか?
Gavotte は使ったことがないのでよくわかりませんが、<br>ERAM については一度設定を詰めた後、特に変更なしで常用できていますよ。
私も同じ板を使っています。参考までにUMAの容量とERAMの設定値を教えてもらえないでしょうか?
参考にならないかもですが…<br>UMA が 128MB<br>[ディスクサイズ] が 4436992KB<br>メモリ確保元タブで [OS管理外領域] 選択<br>OS管理外領域タブで [開始位置指定] が 512MB から<br>[メモリ上限を検出]<br>となってます。<br>…なんかあんまり詰まってないですね。とりあえずディスクフルでおかしくなったりはしない設定例ということで。