-------------------------- MS-DOS v6.22 Help: MEM --------------------------
<Notes> <Examples>                                                   <Index>
----------------------------------------------------------------------------
 
                                    MEM
 
Displays the amount of used and free memory on your computer.
 
You can use the MEM command to display information about allocated memory
areas, free memory areas, and programs that are currently loaded into
memory.
 
Syntax
 
    MEM [/CLASSIFY|/DEBUG|/FREE|/MODULE modulename] [/PAGE]
 
To display the status of your computer's used and free memory, use the
following syntax:
 
    MEM
 
Switches
 
/CLASSIFY
    Lists the programs that are currently loaded into memory and shows how
    much conventional and upper memory each program is using. MEM /CLASSIFY
    also summarizes overall memory use and lists the largest free memory
    blocks. You can use the /CLASSIFY switch with /PAGE but not with other
    MEM switches. You can abbreviate /CLASSIFY as /C.
 
/DEBUG
    Lists the programs and internal drivers that are currently loaded into
    memory. MEM /DEBUG shows each module's size, segment address, and module
    type, summarizes overall memory use, and displays other information
    useful for programming. You can use the /DEBUG switch with /PAGE but not
    with other MEM switches. You can abbreviate /DEBUG as /D.
 
/FREE
    Lists the free areas of conventional and upper memory. MEM /FREE shows
    the segment address and size of each free area of conventional memory,
    and shows the largest free upper memory block in each region of upper
    memory. You can use the /FREE switch with /PAGE but not with other MEM
    switches. You can abbreviate /FREE as /F.
 
/MODULE programname
    Shows how a program module is currently using memory. You must specify
    the program name after the /MODULE switch. MEM /MODULE lists the areas
    of memory the specified program module has allocated and shows the
    address and size of each area. You can use the /MODULE switch with
    /PAGE, but not with other MEM switches. You can abbreviate /MODULE as
    /M.
 
/PAGE
    Pauses after each screen of output. This switch can be used with any of
    the other MEM switches.
 
Related Command
 
For information about checking the amount of space available on a disk, see
the <CHKDSK> command.
 
                                      ***

<Syntax> <Examples>
----------------------------------------------------------------------------
 
                                 MEM--Notes
 
Specifying the /PAGE switch automatically
 
You can use the DOSKEY program to automatically add the /PAGE switch to the
MEM command. Then, each time you use MEM, it will pause after each screenful
of information even if you don't type the /P switch on the MEM command line.
To do this, add the following commands to your AUTOEXEC.BAT file:
 
    c:\dos\doskey
    doskey mem=mem.exe $* /p
 
Displaying memory status
 
MS-DOS displays the status of extended memory only if you have installed
memory above the 1-megabyte (MB) boundary in your system. MS-DOS displays
the status of expanded memory only if you use expanded memory that conforms
to version 4.0 of the Lotus/Intel/Microsoft Expanded Memory Specification
(LIM EMS). MS-DOS displays the status of the upper memory area only if a UMB
provider such as EMM386 is installed and the command DOS=UMB is included in
the CONFIG.SYS file. MS-DOS does not display the status of the upper memory
area if you issue the MEM command while you are running Windows version
3.0.
 
Allocating extended memory
 
To allocate Interrupt 15h memory and XMS memory at the same time, use the
/INT15 switch when you load the HIMEM.SYS device driver.
 
For more information, see <HIMEM.SYS>.
 
                                      ***

<Syntax> <Notes>
----------------------------------------------------------------------------
 
                               MEM--Examples
 
Getting general program and memory information
 
Suppose your system has both expanded memory and extended memory. To display
a summary of your system's total memory--conventional, expanded, extended,
and upper--and to display a list of programs currently loaded into memory,
type the following command:
 
    mem /classify
 
The results might look similar to the following:
 
Modules using memory below 1 MB:
 
  Name           Total       =   Conventional   +   Upper Memory
  --------  ----------------   ----------------   ----------------
  SYSTEM      16,477   (16K)     16,461   (16K)         16    (0K)
  SETVER         784    (1K)        784    (1K)          0    (0K)
  HIMEM        1,168    (1K)      1,168    (1K)          0    (0K)
  EMM386       3,120    (3K)      3,120    (3K)          0    (0K)
  USPI14       9,120    (9K)      9,120    (9K)          0    (0K)
  COMMAND      3,680    (4K)      3,680    (4K)          0    (0K)
  SMARTDRV    37,680   (37K)     21,280   (21K)     16,400   (16K)
  MOUSE       17,088   (17K)     17,088   (17K)          0    (0K)
  NETBEUI     42,432   (41K)     41,760   (41K)        672    (1K)
  REDIR       86,064   (84K)     76,128   (74K)      9,936   (10K)
  ANARKEY     14,384   (14K)          0    (0K)     14,384   (14K)
  ZPOWER       4,368    (4K)          0    (0K)      4,368    (4K)
  ANSI         4,208    (4K)          0    (0K)      4,208    (4K)
  DRVSPACE    36,848   (36K)          0    (0K)     36,848   (36K)
  PROTMAN        128    (0K)          0    (0K)        128    (0K)
  EXP16        9,056    (9K)          0    (0K)      9,056    (9K)
  WORKGRP      4,368    (4K)          0    (0K)      4,368    (4K)
  RAMDRIVE     1,312    (1K)          0    (0K)      1,312    (1K)
  Free       472,464  (461K)    464,448  (454K)      8,016    (8K)
 
Memory Summary:
 
  Type of Memory       Total   =    Used    +    Free
  ----------------  ----------   ----------   ----------
  Conventional         655,360      190,912      464,448
  Upper                109,712      101,696        8,016
  Reserved             393,216      393,216            0
  Extended (XMS)    15,618,928   12,424,048    3,194,880
  ----------------  ----------   ----------   ----------
  Total memory      16,777,216   13,109,872    3,667,344
 
  Total under 1 MB     765,072      292,608      472,464
 
  Largest executable program size        464,352   (453K)
  Largest free upper memory block          7,888     (8K)
  MS-DOS is resident in the high memory area.
 
"Reserved" is the memory located on add-on boards such as video adapter
boards. "Largest executable program size" is the largest contiguous block of
conventional memory available for a program. "Largest free upper memory
block" is the largest area of upper memory available for a program. "MS-DOS
is resident in the high memory area" indicates that MS-DOS is running in the
first 64K of extended memory rather than in conventional memory.
 
Getting information about a specific program
 
To find out what memory a specific program module has allocated, use the MEM
/MODULE command. For example, to find out what memory the WIN386 module has
allocated, you would type the following command:
 
    mem /module win386
 
If you were running WIN386, the results might look similar to the
following:
 
WIN386 is using the following memory:
 
  Segment  Region       Total        Type
  -------  ------  ----------------  --------
   0081D                 80    (0K)  Data
   02EF8                384    (0K)  Environment
   02F10             89,856   (88K)  Program
   0D4D0       1         96    (0K)  Data
   0D611       1      7,888    (8K)  Data
   0EFFE       2         32    (0K)  Data
                   ----------------
  Total Size: 98,336   (96K)
 
Some program modules, such as WIN386, allocate more than one area of memory.
The MEM /MODULE command displays all the areas of memory allocated by the
specified program, and shows the segment address and size of each
allocation. For upper memory blocks, MEM /MODULE also shows the region
number. The Type column shows how the program is using that particular area
of memory. The "total size," in this case 98,336 bytes (96K), shows the
total amount of memory allocated by MS-DOS for the specified program.
 
                                      ***

----------------------------------------------------------------------------
<Top of page>
Last update: June 14, 2000 06:20 EST by -vjf-
Content © 1997 Microsoft Corporation
All else © 2000 Vernon J Frazee
Counter