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ドライバー(DISPLAY
、KEYB
、NSLFUNC
)は私。
MSCDEX /E
についての貴重なリマインダーを提供してくれた@mtoneに感謝します。これにより、16KiBの低メモリが得られました( diff を参照)。
CONFIG.SYSのDEVICE=
行をDEVICEHIGH=
に置き換えてみてください。
DOS=HIGH,UMB
はどういうわけか役立つと思いますが、正確に何をするのか忘れてしまいました。可能であればDOS自体を上部に移動すると思います。
LOADHIGH
およびその他のTSRのIIRCに使用できるMSCDEX
コマンドもあります。
上記は間違っている可能性があります。 DOSを真剣にいじってから少なくとも10年が経ちましたが、それがお役に立てば幸いです。
また、SETVER
を必要とするプログラムがない場合は、それを取り除くことができます。コマンドラインの機能強化が必要ない場合は、DOSKEY
を削除することも検討してください。
最後に、コンベンショナルメモリを解放しすぎて、プログラムの起動時に何らかの種類の破損エラーメッセージが表示される場合は、LOADFIX
を使用します。
Microsoftのドライバを使い続ける必要がない限り、より柔軟性があり、メモリフットプリントが小さいFreeDOSの代替ドライバに置き換えることをお勧めします。
MS DOSに特定の要件がない場合は、IgnacioVazquez-Abramsによってすでに提案されているFreeDOSを使用するのが最も簡単な解決策です。
より良いドライバーを使用することに同意しました。私は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バージョンにバンドルされていない限り、それを行いません。
] [CyberPillar] [: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のコマンドを使用してこれをサポートしていました。 (「メニュー」コマンドについては、ヘルプを参照してください。)