web-dev-qa-db-ja.com

次の設定でメモリを減らすにはどうすればよいですか。

Modules using memory below 1 MB:

  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  MSDOS       14 317   (14K)     14 317   (14K)          0    (0K)
  HIMEM        1 120    (1K)      1 120    (1K)          0    (0K)
  EMM386       3 120    (3K)      3 120    (3K)          0    (0K)
  OAKCDROM    36 064   (35K)     36 064   (35K)          0    (0K)
  POWER           80    (0K)         80    (0K)          0    (0K)
  NLSFUNC      2 784    (3K)      2 784    (3K)          0    (0K)
  COMMAND      2 928    (3K)      2 928    (3K)          0    (0K)
  MSCDEX      15 712   (15K)     15 712   (15K)          0    (0K)
  SMARTDRV    30 384   (30K)     13 984   (14K)     16 400   (16K)
  KEYB         6 752    (7K)      6 752    (7K)          0    (0K)
  MOUSE       17 296   (17K)     17 296   (17K)          0    (0K)
  DISPLAY      8 336    (8K)          0    (0K)      8 336    (8K)
  SETVER         512    (1K)          0    (0K)        512    (1K)
  DOSKEY       4 144    (4K)          0    (0K)      4 144    (4K)
  POWER        4 672    (5K)          0    (0K)      4 672    (5K)
  Free       552 944  (540K)    539 088  (526K)     13 856   (14K)

Memory Summary:

  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         653 312      114 224      539 088
  Upper                 47 920       34 064       13 856
  Reserved                   0            0            0
  Extended (XMS)*   64 898 256    2 671 824   62 226 432
  ----------------  ----------   ----------   ----------
  Total memory      65 599 488    2 820 112   62 779 376

  Total under 1 MB     701 232      148 288      552 944

  Total Expanded (EMS)                33 947 648 (33 152K
  Free Expanded (EMS)*                33 538 048 (32 752K

  * EMM386 is using XMS memory to simulate EMS memory as needed.
    Free EMS memory may change as free XMS memory changes.

  Largest executable program size        538 976   (526K)
  Largest free upper memory block          7 488     (7K)
  MS-DOS is resident in the high memory area.

VMWare仮想ハードウェアでMS-DOS6.22を実行しています。これはMEMMAKERパス後のメモリ状態なので、MEMMAKERを超える最適化を探しています。

注:NLSドライバー(DISPLAYKEYBNSLFUNC)は私。


MSCDEX /Eについての貴重なリマインダーを提供してくれた@mtoneに感謝します。これにより、16KiBの低メモリが得られました( diff を参照)。

8
user539484

CONFIG.SYSのDEVICE=行をDEVICEHIGH=に置き換えてみてください。

DOS=HIGH,UMBはどういうわけか役立つと思いますが、正確に何をするのか忘れてしまいました。可能であればDOS自体を上部に移動すると思います。

LOADHIGHおよびその他のTSRのIIRCに使用できるMSCDEXコマンドもあります。

上記は間違っている可能性があります。 DOSを真剣にいじってから少なくとも10年が経ちましたが、それがお役に立てば幸いです。

また、SETVERを必要とするプログラムがない場合は、それを取り除くことができます。コマンドラインの機能強化が必要ない場合は、DOSKEYを削除することも検討してください。

最後に、コンベンショナルメモリを解放しすぎて、プログラムの起動時に何らかの種類の破損エラーメッセージが表示される場合は、LOADFIXを使用します。

8
LawrenceC

Microsoftのドライバを使い続ける必要がない限り、より柔軟性があり、メモリフットプリントが小さいFreeDOSの代替ドライバに置き換えることをお勧めします。

  • ctmouseがマウスに取って代わります
  • uideはoakcdromとsmartdrvを置き換えます
  • shsucdxはmscdexを置き換えます

MS DOSに特定の要件がない場合は、IgnacioVazquez-Abramsによってすでに提案されているFreeDOSを使用するのが最も簡単な解決策です。

2
Gurken Papst

より良いドライバーを使用することに同意しました。私はOAKCDROM.SYSを見て、すぐに代替案を考えました。何年も前にこれを研究したとき、私はUIDEについて知りませんでした。しかし、私はまだOAKCDROM.SYSよりも優れた代替手段を見つけました: TOOGAMのソフトウェアアーカイブ:CD-ROMドライバー を参照してください。 CuteMouseもお勧めです。これらはより多くの空きメモリを提供し、実際には欠点はありません。それはただ新しくてより良いコードです。

SHSUCDXはメモリを節約できますが、CDオーディオに問題がある可能性があります(少なくともバージョン2.20bでは、私が覚えているように)。 CDオーディオが正常に機能する場合、またはそれが問題にならない場合は、それを使用してください。

また、DOS = HIGH、UMBを使用し、DEVICEHIGHを使用しようとすることに同意します。ただし、DEVICEHIGHを使用すると、アッパーメモリが少し消費される可能性があります。その場合、アッパーメモリが不足している可能性があります。したがって、理想的な設定を得るには、物事を注意深く監視する必要があるかもしれません。必要なドライバーがわかるまでは、気にしないでください。

次に、LHは、AUTOEXEC.BATからロードされたものを含め、コマンドラインからのすべてに使用できます。

DOSKeyを取り除く:代わりに、4DOSを使用してCommand.Comを置き換えます。 4DOSは以前はシェアウェアでしたが、現在はフリーウェアバージョンがあり、その後ソースコードが利用可能になりました。 4DOSはコンベンショナルメモリをあまり使用しない傾向があるか、少なくともそうするように構成できると思います。 4DOSを使用するには、ソフトウェアを入手してから、CONFIG.SYSにシェル経由で参照させます。例:

Shell = C:\ 4DOS\4DOS.Com

また、COMSPECを設定します。

SET COMSPEC = C:\ 4DOS\4DOS.Com

ComspecはCONFIG.SYSまたはAutoExec.batにすることができます

おそらくSETVERを取り除く:それは通常完全に不要です。ソフトウェアがソフトウェアのバージョンについて無用に文句を言うのではなく、単にいくつかのソフトウェアを機能させるだけです。しかし、ソフトウェアは通常、別の(商用?)DOSバージョンにバンドルされていない限り、それを行いません。

] [Cyber​​Pillar] [:DOS Memory は、メモリマネージャの置き換えなど、他のいくつかのオプションを示しています。例:実際に何かを試す時間があれば、UMBPCIがシステムで機能するかどうかを確認してください。もしそうなら、EMM386の代わりにそれを使って楽しんでください。

それ以外の場合、EMM386(おそらく、HIMEMですが、EMMだと思います)には、より多くのメモリを生成できるパラメータ(正しく覚えていれば、HIGHSCAN)がありますが、システムのごく一部がフリーズします。このようなパラメータについては、オンラインヘルプを確認してください。より多くのメモリが検出されて使用される可能性があります。

まあ、これらのヒントのすべてに従うことはとにかくかなり良いスタートになります。

あなたがあなたの質問でこれに対処したことは知っていますが、その行は見逃しやすいので、NLSFunc(国立キーボード言語機能)とDISPLAY.SYS(CONFIG.SYSにロードされている)はあなたがいない限り不要かもしれないことをすぐに指摘しますアメリカ以外のコードページをサポートしようとしています。 KEYBについても同様です。 POWERがどれだけ良いかわかりません。

MemMakerをあまり信頼しないでください。それは助けることができます。それは事態を悪化させる可能性があります。通常、最適化されていないシステムを使用している場合は、少し役立ちます。 MemMakerにシステムを確認させる前に、CONFIG.SYSとAUTOEXEC.BATをバックアップするなど、他のすべての推奨される変更を行った後、再試行してください。

特定のアプリケーション用のメモリが必要な場合は、ロードするドライバを選択できるブートメニューを作成できる場合があります。 MS-DOS 6.xは、CONFIG.SYSのコマンドを使用してこれをサポートしていました。 (「メニュー」コマンドについては、ヘルプを参照してください。)

0
TOOGAM