Компьютер IBM PC/AT, MS-DOS и Windows. Вопросы и ответы© Александр Фролов, Григорий ФроловТом 10, М.: Диалог-МИФИ, 1993, 218 стр. 2.5. Как определить объем имеющейся оперативной памятиЕсли вас интересует не только общий объем оперативной памяти, а также другие ее характеристики, можно воспользоваться командой MS-DOS MEM. С помощью команды MEM вы можете получить информацию об общем объеме и объеме свободной части основной и расширенной памяти, получить список загруженных в память драйверов и программ, а также получить некоторую другую информацию. Рассмотрим задачи, решаемые с помощью команды MEM. Как определить объем доступной памятиЧтобы определить общий объем основной и расширенной памяти, установленной на компьютере, а также узнать, сколько и какой памяти свободно в данный момент, нужно выполнить команду MEM без параметров. Команда MEM выведет на экран таблицу, строки которой представляют основную память, область верхних блоков памяти, зарезервированную и расширенную память. Для каждого вида памяти отображается ее общий объем, объем используемой части и объем свободной части. После этой таблицы отображается общий объем оперативной памяти и объем памяти, расположенной ниже первого мегабайта. Затем команда MEM сообщает максимальный размер программы, которая может быть загружена, размер наибольшего свободного блока верхней памяти и представляет данные об использовании MS-DOS блоков верхней памяти. После выполнения на нашем компьютере, команда MEM отобразила на экране дисплея следующую информацию: Memory Type Total = Used + Free ---------------- ------ ------ ------ Conventional 640K 265K 375K Upper 179K 179K 0K Adapter RAM/ROM 0K 0K 0K Extended (XMS) 14925K 13901K 1024K ---------------- ------ ------ ------ Total memory 15744K 14345K 1399K Total under 1 MB 819K 444K 375K Largest executable program size 375K (383696 bytes) Largest free upper memory block 0K (0 bytes) MS-DOS is resident in the high memory area. Как определить объем свободной памятиВы можете использовать команду MEM для получения подробной информации о свободной памяти компьютера. Для этого выдайте следующую команду: MEM /FREE или MEM /F Сначала на экране будет отображен список с перечислением свободных участков основной памяти. Для каждого участка указывается его сегментный адрес и размер. После этого списка отображается общий размер свободной памяти. На нашем компьютере команда MEM определила наличие трех свободных участков основной памяти с общим объемом 375 Kбайт: Free Conventional Memory: Segment Total ------- ---------------- 04244 208 (0K) 04251 88608 (87K) 057F3 295104 (288K) Total Free: 383920 (375K) После списка свободных участков основной памяти выводится список свободных блоков верхней памяти: Free Upper Memory: Region Largest Free Total Free Total Size ------ -------------- -------------- -------------- 1 0 (0K) 0 (0K) 3136 (3K) 2 0 (0K) 0 (0K) 180240 (176K) Для каждого блока верхней памяти показывается размер наибольшего свободного участка блока, общий размер свободных участков блока и общий размер всего блока. Как получить список загруженных программКоманда MEM может быть полезна для получения списка драйверов и программ, загруженных в оперативную память компьютера. Для получения этой информации необходимо выполнить следующую команду: MEM /CLASSIFY или MEM /C Данная команда выводит на экран список загруженных в оперативную память драйверов и программ, а также сообщает для каждой программы, сколько памяти она использует. На нашем компьютере команда MEM /C вывела следующий список загруженных модулей: Modules using memory below 1 MB: Name Total = Conventional + Upper Memory -------- ---------------- ---------------- ---------------- MSDOS 15933 (16K) 15933 (16K) 0 (0K) HIMEM 1152 (1K) 1152 (1K) 0 (0K) EMM386 3120 (3K) 3120 (3K) 0 (0K) SMARTDRV 30800 (30K) 2480 (2K) 28320 (28K) COMMAND 2912 (3K) 2912 (3K) 0 (0K) win386 56672 (55K) 15856 (15K) 40816 (40K) WIN 2224 (2K) 2224 (2K) 0 (0K) MOUSE 17088 (17K) 17088 (17K) 0 (0K) BREQUEST 29392 (29K) 29392 (29K) 0 (0K) NCMAIN 178192 (174K) 178192 (174K) 0 (0K) COMMAND 3120 (3K) 3120 (3K) 0 (0K) SWAKEYB 1040 (1K) 0 (0K) 1040 (1K) SETVER 816 (1K) 0 (0K) 816 (1K) STACKER 44992 (44K) 0 (0K) 44992 (44K) LSL 3808 (4K) 0 (0K) 3808 (4K) NE2000 3872 (4K) 0 (0K) 3872 (4K) IPXODI 15968 (16K) 0 (0K) 15968 (16K) NETX 43744 (43K) 0 (0K) 43744 (43K) Free 383712 (375K) 383712 (375K) 0 (0K) В этом списке перечислены имя программы - "Name", общий объем занимаемой ей памяти - "Total", объем занимаемой основной памяти "Conventional" и объем занимаемой верхней памяти - "Upper Memory". В последней строке этого списка показаны размеры свободной памяти компьютера. После списка загруженных программ, команда MEM выдает общую информацию о оперативной памяти (см. предыдущий раздел): Memory Summary: Type of Memory Total = Used + Free ---------------- ----------------- ----------------- ----------------- Conventional 655360 (640K) 271648 (265K) 383712 (375K) Upper 183376 (179K) 183376 (179K) 0 (0K) Adapter RAM/ROM 0 (0K) 0 (0K) 0 (0K) Extended (XMS) 15283120 (14925K) 14234544 (13901K) 1048576 (1024K) ---------------- ----------------- ----------------- ----------------- Total memory 16121856 (15744K) 14689568 (14345K) 1432288 (1399K) Total under 1 MB 838736 (819K) 455024 (444K) 383712 (375K) Largest executable program size 383696 (375K) Largest free upper memory block 0 (0K) MS-DOS is resident in the high memory area. Как узнать размер памяти, используемый программойЕсли вы желаете узнать объем оперативной памяти, который использует конкретная программа, введите следующую команду: MEM /MODULE modulename или MEM /M modulename Параметр /MODULE указывает, что вы желаете получить информацию о памяти, используемой программой modulename. Команда MEM /MODULE выдает список областей памяти, используемых программой, адрес и размер каждой области. Например, введите следующую команду: MEM /MODULE SMARTDRV MEM выведет на экран данные о памяти, используемой драйвером SMARTDRV: SMARTDRV is using the following memory: Segment Region Total Type ------- ------ ---------------- -------- 00275 2464 (2K) Installed Device=SMARTDRV 0D72E 2 28320 (28K) Program ---------------- Total Size: 30784 (30K) |