Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Компьютер 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)
[Назад] [Содеожание] [Дальше]