Команда MEM отображает статистику использования оперативной памяти в операционных системах семейства MS-DOS: общий объём, свободную и занятую область, распределение по блокам и список загруженных программ. В Windows NT/XP/10/11 команды нет — она осталась инструментом только для DOS-среды, включая DOSBox и другие DOS-совместимые системы.
Синтаксис команды MEM
MEM Параметры:
/C— список программ, загруженных в обычную и верхнюю память, с размерами./D— подробный листинг всех блоков памяти (debug-информация)./F— области свободной памяти и их размеры./M модуль— сколько памяти занимает конкретный модуль или программа./P— постраничный вывод (пауза после каждого экрана).
Без параметров команда выводит краткую сводку: общая память, верхняя память (UMA), доступная обычная память.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/C | Список программ в обычной и верхней памяти с их размерами | MEM /C |
/D | Подробный вывод всех блоков памяти (диагностический режим) | MEM /D |
/F | Свободные блоки памяти и их размеры | MEM /F |
/M модуль | Объём памяти, занятой конкретным модулем | MEM /M MOUSE |
/P | Постраничный вывод с паузой после каждого экрана | MEM /D /P |
| (без ключей) | Краткая сводка: общая, верхняя, свободная память | MEM |
Примеры использования
Краткая сводка по памяти
MEMВывод показывает три строки: общий объём обычной памяти (до 640 КБ), доступную свободную память и размер верхней памяти (HMA).
Список загруженных программ
MEM /CВывод содержит две таблицы: программы в обычной памяти (0–640 КБ) и программы в верхней памяти (UMB). Полезно для оптимизации загрузки DOS-конфигурации.
Диагностика всех блоков памяти
MEM /DВывод показывает каждый блок памяти с адресом, размером и именем владельца — удобно при отладке конфликтов между драйверами.
Проверка свободных блоков
MEM /FПоказывает незанятые области в обычной памяти. Наибольший свободный блок (Largest executable program size) — максимум, доступный для запуска программы.
Память конкретного модуля
MEM /M MOUSEПоказывает адрес и размер блоков памяти, занятых модулем MOUSE.
Сохранение результата в файл
MEM /C > mem-report.txtФайл mem-report.txt создаётся в текущем каталоге и содержит полный вывод команды.
Частые ошибки и решения
| Ошибка / поведение | Причина | Решение |
|---|---|---|
| ‘MEM’ is not recognized в Windows 10/11 | Команда недоступна в современных версиях Windows | Используйте systeminfo или командлет PowerShell Get-CimInstance Win32_PhysicalMemory (см. раздел ниже) |
| Команда зависает без вывода в DOSBox | Не смонтирован диск или неверно указан путь | Проверьте MOUNT в DOSBox и текущий каталог |
| Вывод прокручивается, ничего не прочитать | Много блоков памяти — вывод больше экрана | Добавьте ключ /P для постраничного вывода или перенаправьте в файл |
| Module not found при использовании /M | Модуль с указанным именем не загружен | Проверьте точное имя модуля через MEM /C |
| Показывает только 640 КБ общей памяти | Штатное поведение — DOS видит только «обычную» память до 640 КБ | Для расширенной памяти (XMS/EMS) нужен менеджер памяти: HIMEM.SYS или EMM386.EXE |
Чем заменить MEM в современной Windows
В Windows 10 и 11 модель памяти не делится на «обычную» и «верхнюю», поэтому команда MEM в принципе не имеет смысла для этих систем. Для просмотра памяти используйте:
systeminfo— суммарные данные об объёме физической памяти.- PowerShell:
Get-CimInstance Win32_PhysicalMemory | Select-Object Capacity,Speed— сведения по каждому физическому модулю ОЗУ. tasklistили диспетчер задач — память, занятая запущенными процессами.
Важно: команда
wmic(включаяwmic memorychip), которую раньше советовали как замену MEM, официально удалена Microsoft из Windows 11 версий 24H2, 25H2 и 26H1 — на актуальных сборках она уже не работает. Используйте PowerShell-командлетGet-CimInstance, показанный выше: он делает то же самое и продолжит работать.
Когда применять, а когда нет
MEM актуальна исключительно в среде MS-DOS и DOS-совместимых систем (FreeDOS, DOSBox). В Windows 10/11 команда полностью отсутствует — используйте альтернативы из раздела выше.
Частые вопросы
Работает ли MEM в Windows 10 или 11?
Нет. Команда MEM недоступна в современных версиях Windows — она осталась только в среде MS-DOS.
Чем заменить MEM в современной Windows?
Для сводки по памяти — systeminfo. Для сведений о физических модулях ОЗУ — командлет PowerShell Get-CimInstance Win32_PhysicalMemory | Select-Object Capacity,Speed. Команду wmic memorychip использовать не стоит — она удалена в актуальных сборках Windows 11.
Как запустить MEM в DOSBox?
Запустите DOSBox, смонтируйте нужную папку командой MOUNT C C:\DOSFOLDER, перейдите в неё и введите MEM. DOSBox эмулирует DOS-окружение, в котором команда работает штатно.
Что такое «Largest executable program size»?
Максимальный непрерывный свободный блок обычной памяти (до 640 КБ), доступный для запуска программы. Если приложению нужно больше этого значения, оно не запустится.
Чем отличается /C от /D?
Ключ /C показывает только загруженные программы с суммарным объёмом памяти — удобно для оптимизации. Ключ /D выводит все блоки памяти с адресами — нужен для диагностики конфликтов и отладки.
Проверялась ли команда wmic как замена MEM?
Да, и от неё стоит отказаться: Microsoft официально удалила wmic из Windows 11 версий 24H2 и новее. Рабочая замена сегодня — командлет PowerShell Get-CimInstance.