管理人様、皆様はじめまして”空中3回転猫”と申します。よろしくお願いします。
Xa9でWin98使いで96MBのメモリーを搭載しています。
10MB程度の画像を編集するとスワップの書き出しが始まりガタガタのスピードになって
しまうのでこれを改善したく思います。
DOS/Vな友人からスワップをラムドライブにすればいいんじゃないの?って言われたの
ですが16MBの仮想メモリをラムドライブに割り当てるには以下で良いのでしょうか?
(1)Win98起動ディスクから Ramdrivers.sys をコピーしてA:\に置く
(2)Config.sysに devicehigh=ramdrive.sys /E 16384 の記述を追加して
Win98起動後に
(3)システムプロパティ、パフォーマンス、仮想メモリを(自分で設定する)にして
(D:\16MBの空き)に設定する。
にすればよいのでしょうか?
またこれでスワップはラムドライブD:\に作られて快適になるのでしょうか?
128MBに増設して32MBくらいの仮想メモリにしたほうがよいでしょうか?
試せば良いのでしょうが今手元に無く準備計画をしようと思います。よろしくお願い致します。
- re: Ken さん
投稿日:1999年03月06日 15時25分
仮想メモリは実装メモリ+10MB程度が良いみたいです。
Win98では設定していませんが少なくともWinNTで仮想メモリが32MBだととてもじゃないですが使えません(^^;;
PhotoShopで画像を塗るときはすぐに180MBぐらい消費してしまうので
私は実装128MBで仮想メモリは250MBにしています。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 15時25分
>(2)Config.sysに devicehigh=ramdrive.sys /E 16384 の記述を追加して
(2)Config.sysに devicehigh=ramdrive.sys /D 16384 の間違えでした。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 15時30分
ありがとうございます。>PhotoShopで画像を塗るときはすぐに180MBぐらい消費してしまうので
なんか凄い!
>仮想メモリは実装メモリ+10MB程度が良いみたいです。
ということは、128MB積んで69MBの仮想メモリーを割り当てて実装を59MB程度にするのでしょうか?
- re: ぼーぼー さん
投稿日:1999年03月06日 16時05分
あとメモリーを節約方法としては、Windowsファイルのsystem.iniの[vcache]に
MaxFileCache=8192
をいれるとか、仮想メモリのドライブと起動ドライブを別にするとかがありますが、
スワップファイルを全てRAM上に展開できるのならそれにこした事はありませんね。
- re: ドッペン さん
投稿日:1999年03月06日 16時05分
こんにちは、仮想メモリ領域をRAMDISKに設定するということは、スワップは軽くなるかもしれませんが、その分実メモリが減るのでさらにスワップを増長させるような気がします。
ここは、素直にメモリを増設し(おそらく128MBが上限)、HDDを高速なものに交換(U−IDE98を併用)するしかないのではないでしょうか。
ちなみにNTの場合はこのスワップファイルのサイズを指定できるのです。Win9*は動的に変化するようになっています。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 16時17分
みなさんいろいろとありがとうございます。
>MaxFileCache=8192
これ何のことか是非教えてください。
>その分実メモリが減るのでさらにスワップを増長させるような気がします
はいそこのところも気になってました。やはり駄目でしょうか・・・
現在は96MBですから128MB化して32MBをRAMDISKに置く? しかし、32MBでは仮想メモリと
しては足りませんでしょうか?
Kenさんほど、本格的で大型な処理はしないのですが・・・基本的に駄目でしょうか?
- re: YU さん
投稿日:1999年03月06日 16時39分
>その分実メモリが減るのでさらにスワップを増長させるような気がします
ぼくもそう思います。
- re: ぼーぼー さん
投稿日:1999年03月06日 16時52分
http://www.ingjapan.ne.jp/kuroken/win/winmini/wmini06.htm
勝手にリンクで申し訳ありませんが、ここをみてください。
WIN95の事を書いてありますが、WIN98でもまだ直っていないようです。
簡単に言うと、WIN95.98はメモリーのほとんどを、ディスクキャッシュ使ってしまうようになっていまして(64Mなら32Mディスクキャッシュ用とか)、アプリケーション実行用のメモリーがすぐ足りなくなってしまうという減少を防ぐためのものです。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 17時03分
みなさん素早いレスをありがとうございます。ぼーぼーさんのご紹介のところで
今から勉強してみます。
- re: ブラニフ さん
投稿日:1999年03月06日 18時11分
スワップを高速化するためにメモリの一部を割いてRAMDISKにして、そこにスワップする、
というのは本末転倒だと思います。それじゃ実装メモリ以内しか仮想も含めたメモリが使えません。
実装メモリ以上のメモリを使えるようにするのが仮想メモリの存在意義ですので。
それなら、はなからスワップさせなければいいのではないでしょうか。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 19時08分
>本末転倒だと思います。
はい確かに。では仮想メモリはどのくらいに設定すれば良いのでしょうか?
あと128MB搭載してシステムのプロパティの仮想メモリの設定で(仮想メモリを使わない)にセット
するのも駄目でしょうか?
ぼーぼーさんがおっしゃる MaxFileCache=8192 と併用すれば良くならないですかねえ?
- re: ぼーぼー さん
投稿日:1999年03月06日 19時46分
MAXFILEについては本体搭載メモリーの2割程度ですね。
あまり小さくしすぎると、CDーROMの読み込みが遅くなったというケースがありました。
RAMDISKについては・・・WIN95のシステムツールの中にシステムモニターというのがあって、それをみながらフォトショップを立ち上げると、どれぐらいスワップしているかわかります。
とりあえず、MAXFILEを試されては?
- re: shun さん
投稿日:1999年03月06日 20時14分
>ドッペン さん
Win95/98でもスワップファイルのサイズを指定できますよ。
デフォルトでは、Windows がスワップファイルのサイズを管理し、
変化するシステムの状況に合わせて動的に変更しますが
システムのプロパティ→パフォーマンス→仮想メモリ
自分で設定するを選択し最大と最小値を同じにすれば固定もできます。
唯、最小値を設定するだけに留めておいた方が無難だと思いますが・・・
デフォルトの設定でもWin95の時は搭載メモリーが多ければスワップファイル0になる事もありましたが、
Win98ではある程度確保される様です。
このような違いによりWin95の場合
特に最小値を設定する事によりスワッブファイルによるディスクの断片化の進行を防ぐ事が出来ます。
デフォルトの設定ではスワップファイルのサイズは絶えず変わるので、断片化が非常に速く進みます。
スワップファイル断片化が原因でディスク上の他のファイルも断片化してしまいます。
Windows NT 環境下ではスワップファイルを「ページングファイル」といいPAGEFILE.SYS という
ファイル名が付いている様ですが、Windows 9x のスワップファイルは WIN386.SWP という名前です。
NTの事は勉強中でよくわかりませんが、
参考になればと、余分な事も記述してしまいました。また、間違いがあれば指摘してください。m(__)m
これで投稿しようと思いましたが、状況が1時間前とは変わってきましたのでもう少し補足いたします。
>はい確かに。では仮想メモリはどのくらいに設定すれば良いのでしょうか?
システムモニターで、気にしておられる状況で作業をしてみて判断するのが宜しいかと
具体的にはその時使用しているスワップファイルの量を調べ最大値を上記最小値にそれ以上の値を設定すれば、
スワップの回数は減ると思いますが、これで最初の質問の意図に合っているのかなー?(ーー;)
>あと128MB搭載してシステムのプロパティの仮想メモリの設定で(仮想メモリを使わない)にセット
するのも駄目でしょうか?
駄目だと思います。
>ぼーぼーさんがおっしゃる MaxFileCache=8192 と併用すれば良くならないですかねえ?
これはキャッシュの設定なので一度読みこんだ物を再利用する時には大きい方が有効ですが、
大きく取ると上で言われているように他に悪影響を及ぼします。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 21時38分
みなさんにお世話になりましてありがとうございます。色々勉強になります。
>とりあえず、MAXFILEを試されては?
はいそうします。
>具体的にはその時使用しているスワップファイルの量を調べ最大値を上記最小値に
>それ以上の値を設定すれば、スワップの回数は減ると思います
これはシステムモニタで監視したスワップファイルの最大値以上の値を仮想メモリ
に割り当てなさいといいう解釈でよろしいのでしょうか?
もしくは MaxFileCache=##### に割り当てなさいということなのでしょうか?
>これで最初の質問の意図に合っているのかなー?
色々と教えていただいて勉強になりますので僕は良いのですが、皆さんにお付き合い
いただき申し訳ありません。
最初の質問の意図は仮想メモリをラムドライブに割り当てる方法なのですが、
ようするに「あまり良策では無い」ということと理解したのですが・・・・
という理解でよろしいんでしょうか?
よろしくお願いします。
- re: shun さん
投稿日:1999年03月06日 22時03分
まず、質問された事をお答えします。
>これはシステムモニタで監視したスワップファイルの最大値以上の値を仮想メモリ
>に割り当てなさいといいう解釈でよろしいのでしょうか?
はい、仮想メモリの最小値に設定すると言う意味で書きました。
MaxFileCache=##### の設定もするつもりならそちらの値によっても変わってきます。
>ようするに「あまり良策では無い」ということと理解したのですが・・・・
ラムドライブに割り当てる方法は私もそう思います。
私も含めいろいろ勘違いなさっている事が多いように感じますので少し整理させて頂きます。(←自分の頭)
まず物理メモリーの使われ方を把握すれば、スワップファイルがどういう時利用されるかわかると思います。
そして今気になさっている症状がディスクキャッシュのサイズを指定する事で改善できる範囲にあるのか、
見極める必要があると思います。
私の推測ではドッペンさんが仰っている方法が一番良い様に思われますが・・・
もし今スワップファイルがあるドライブより高速なドライブがあればそちらにスワップファイルは設定すれば
いくらかは良くなるでしょうが・・・
勘違いされてはいけないのはどのような設定をしても、
この使用状況でスワップファイルを利用しないと言う事はありえないのでは(?)と私は思っています。
間違っていましたら、すいません。 m(__)m
- re: mibo さん
投稿日:1999年03月06日 22時27分
皆さん凄いですね。キャッシュをRAMドライブにする。これってHD革命という
ソフトがやっていることですよね。PC-98で使うと誤動作ばっかりですけど
- re: 西家 さん
投稿日:1999年03月06日 22時48分
仮想メモリーを使用しないに設定することは危険なのでお止めください。明示的に仮想メモリーを要求するAPIを実行した場合にハングアップする場合があります。このAPIはメモリーを大量に消費することが予め分かっているアプリケーションでは当たり前のように使われていますので、どんなアプリケーションを使用しても常に物理メモリが128MB以上空いてるような環境でもない限り絶対に指定してはいけません。
- re: KOU さん
投稿日:1999年03月06日 23時27分
レスを付けようか迷っていたのですが、どうも話の内容がおかしいのでレスを付けさせていただきます。
「スワップをラムドライブに?」この件に関してですが、Win98ではRAMドライブをスワップファイルの
ドライブにすることはできません。実際にramdrive.sysをconfig.sysに記述して動作させれば解ります。
Win3.1ではこの方法も取れたのですが、Win95以降では安全のためかリムーバルドライブやRAMドライブ
に対してスワップファイルを置くことが出来なくなっています。これは「HD革命」のRAMドライブ
機能を使用してもできません。(注.HD革命では置くことができるものの、スワップが正常動作しません)
つまり上記方法は不可能ということです。
また、仮想メモリを「使用しない」に設定した場合、スワップファイルを作業領域に強制的に使用している
アプリケーションはメモリ不足で動作しなくなります。これは物理メモリが幾ら空いていても回避できません。
アプリによってはそのまま暴走する可能性が有る為、これだけは絶対止めたほうが良いです。
また、複数回作業のやり直し(undo)ができるアプリ(Photoshop5.0等)だと作業領域用ドライブに頻繁に
アクセスする為、仮想メモリにアクセスしているように見えますが、実際はそのソフトウェアが設定して
いる作業領域にアクセスしているだけであって、スワップファイルの設定を変更しても意味が無い場合が
有ります。
詳しくは各ソフトのマニュアルを参照してください。
結局メモリ上限が128MBの本体で大きい画像データを扱う場合は、作業領域をスワップドライブとは別の
物理ドライブに設定することで、多少はロス時間を解消できます。(これらのドライブはSCSIを使用する
ことをお勧めします)
私の場合は自作AT互換機を使用していますが、作業中に遅いハードディスクにアクセスさせるのが嫌なので、
無理してでもメモリを512MBまで増設しました。512MBのメモリの内、256MBをHD革命の動的(容量可変)
RAMドライブに設定しており、Win98に使用する全アプリの作業領域をこのRAMドライブに設定して
あるため、画像編集や印刷中にディスクをアクセスしに行くことは殆ど有りません。
この場合ものすごく快適ですし、HDに余計なダメージを与えずに済みます。
- re: 空中3回転猫 さん
投稿日:1999年03月06日 23時59分
shunさんみなさんありがとうございます。何だか少し僕も理解できなくなってきましたが・・・
教えて下さい。アプリの作業領域をRAMドライブに設定ということなのですが、今手元の実機が
ないので恐縮なのでですが例えばWord97がここにあるのですが、このアプリの作業領域ドライブを
指定するのはどこを設定すればよいのでしょうか? 最初の質問から外れてしまって申し訳あり
ません。貴重なスペースと時間を素人な僕の質問のために皆さんすいません。
- re: shun さん
投稿日:1999年03月07日 00時05分
KOUさんフォローをありがとうございます。
レスを付けながら何かおかしいなーと考えておりましたが、
>実際はそのソフトウェアが設定している作業領域にアクセスしているだけであって、スワップファイルの
>設定を変更しても意味が無い場合が有ります。
と、この状況の判断が出来かねておりましたので・・・m(__)m どうもです。
- re: shun さん
投稿日:1999年03月07日 00時47分
空中3回転猫さんへ
私ではスワップファイルを作業領域に使用しているアプリケーションとそうでないアプリケーションの判別が
つきませんので、他の方のレスを期待しましょう。(^^ゞ
- re: 西家 さん
投稿日:1999年03月07日 01時27分
基本的には環境変数のTEMPで指定されたディレクトリが作業用のディレクトリになります。デフォルトは\Windows\Tempです。このディレクトリをRAMドライブ上のディレクトリに指定することにより、作業領域を移動できます。あと、ワープロソフトなどで良くあるケースでは編集しているデータと同じディレクトリに作業用のファイルを作る場合があります。この場合には、編集するデータをRAMドライブにコピーした上で編集する必要があります。
例えば、Word97/98の場合にはTEMPのディレクトリに~WRD****.docといったワークファイルを作成します。最新版はどうなのか分かりませんが、昔のNetscape Navigatorはメモリーと指定したディレクトリーにデータをキャッシュしています。
- re: KOU さん
投稿日:1999年03月07日 01時37分
WordやExcelの場合は特に設定が無いのでWin98の標準作業領域(\windows\temp 以下)に作成されます。
この場所はautoexec.batに下記のように記述することで変更できます。
例)Dドライブに32MBのRAMドライブを作成する場合
<config.sys>
device=c:\windows\ramdrive.sys 32767 512 1024 /e
<autoexec.bat>
set tmp=d:\
set temp=d:\
意外と知られていないことですが、CD-Rのライティングソフトでオンザフライ書込みを実行する場合も、
作業領域がハードディスクよりRAMドライブの方が有利です。
またcd2wav等の変換ソフトでも一時作業領域を指定できるので、RAMドライブに設定しておいたほうが
有利です。更に圧縮ファイルの一時解凍先に指定しておくと、展開しても電源を落とせば消えるので便利です。
- re: 空中3回転猫 さん
投稿日:1999年03月07日 02時16分
shunさん、西家さん、KOUさんありがとうございます。わかりました環境変数で受け渡して
固定された作業エリアをラムドライブに指定する訳ですね。それぞれのアプリのディフォルト
な作業領域がどこになってるかは一つ一つあたって行くことにします。
>device=c:\windows\ramdrive.sys 32767 512 1024 /e
ありがとうございます。確かにオンザフライに有効そうですね!
仮想ディスクをラムドライブにするのはやめて128MBに増設して、作業領域としてラムドライブを
使う計画に切り替えます。HD革命の導入も検討してみます。ありがとうございました。