「記憶體不足」、「Out of memory」錯誤讓人抓狂,但 DOS 與 Windows 環境成因截然不同,對症下藥才能解套。完整整理兩大環境排查邏輯與實戰案例。
DOS 程式只能使用前 640KB 常規記憶體,上層記憶體區 (UMA) 與擴充記憶體 (EMS/XMS) 需驅動程式協助映射。常見成因與對策:
CONFIG.SYS 需包含:
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB
RAM 參數才能提供 EMS 頁框讓程式使用擴充記憶體。
用 MEM /C /P 檢視模組佔用。常見元凶:滑鼠驅動、網路驅動、快取程式、中文系統字庫。解法:
DEVICEHIGH= 載入 UMBHIMEM.SYS /INT15=xxx 預留低端擴充記憶體給字庫AUTOEXEC.BAT 不要的 TSR現象:執行 WPS 僅剩 200KB 常規記憶體,CHLIB 佔 255KB。
原因:DOS=HIGH 將核心移至 HMA,但 HIMEM.SYS 佔用了 INT15 低端擴充記憶體,導致金山字庫無法載入。
解法二擇一:
DOS=HIGH,核心回常規記憶體,騰出 INT15 區給字庫DEVICE=C:\DOS\HIMEM.SYS /INT15=320 預留 320KB 低端擴充記憶體,核心與字庫共存,常規記憶體可達 512KBWindows 透過分頁檔將實體記憶體擴展至硬碟,但設定不當或程式資源洩漏仍會觸發「記憶體不足」。
msconfig 或工作管理員「啟動」分頁停用非必要項32 位元 Windows 僅能定址 4GB,扣除硬體保留位址後可用常 < 3.5GB。裝 4GB 以上記憶體必須改用 64 位元系統才能發揮效用。
記憶體不足並非單一故障,而是系統資源管理的綜合體現。依環境對症下藥,配合良好使用習慣(不開過多程式、定期重開機、保持 20% 以上磁碟剩餘空間),才能徹底遠離彈窗困擾。