「Out of memory」或「記憶體不足」指啟動或執行程式時,系統無法配置所需記憶體空間。DOS 與 Windows 成因截然不同,需分別處理。
CONFIG.SYS 必須包含:
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM
DOS=HIGH,UMB
RAM 參數啟用上層記憶體區 (UMB) 供裝置驅動程式/TSR 程式使用,釋放常規記憶體。
執行 MEM /C /P 查看常規記憶體分配。若某程式(如舊版中文系統字庫 CHLIB)佔用大量常規記憶體,嘗試:
DOS=HIGH 讓 DOS 核心留在常規記憶體,騰出擴充記憶體給字庫。HIMEM.SYS 加入 /INT15=320 保留 320KB 擴充記憶體低端給字庫使用。Windows 記憶體不足通常指「系統資源」(User/GDI 物件)耗盡,而非實體 RAM 不足。
msconfig 或註冊表 Run/Load 移除非必要程式。| 指令 | 用途 |
|---|---|
| MEM /C /P | DOS 顯示常規/擴充/上層記憶體詳細分配 |
| SYS C: | 將系統檔複製到 C 槽(修復啟動) |
| CHKDSK /F | 檢查修復磁碟錯誤 |
| SCANDISK | 圖形化磁碟掃描修復 |
Win9x 系統資源架構限制(16-bit GDI/USER 堆疊)導致資源易耗盡,這是架構缺陷而非單純 RAM 不足。最有效對策是升級至 NT 核心系統 (Win2K/XP/7/10/11),徹底解決資源瓶頸。