HIMEM is an extended-memory manager--a program that coordinates the use of
your computer's extended memory, including the high memory area (HMA), so
that no two applications or device drivers use the same memory at the same
You install HIMEM by adding a <DEVICE> command for HIMEM.SYS to your
CONFIG.SYS file. The HIMEM.SYS command line must come before any commands
that start applications or device drivers that use extended memory; for
example, the HIMEM.SYS command line must come before the EMM386.EXE command
DEVICE=[drive:][path]HIMEM.SYS [/A20CONTROL:ON|OFF] [/CPUCLOCK:ON|OFF]
[/EISA] [/HMAMIN=m] [/INT15=xxxx] [/NUMHANDLES=n] [/MACHINE:xxxx]
[/SHADOWRAM:ON|OFF] [/TESTMEM:ON|OFF] [/VERBOSE]
In most cases, you won't need to specify command-line options. The default
values for HIMEM.SYS are designed to work with most hardware.
Specifies the location of the HIMEM.SYS file. HIMEM.SYS should always be
located on the same drive that contains your MS-DOS files. If the
HIMEM.SYS file is in the root directory of your startup drive, you don't
need to include a path. However, you must always include the complete
Specifies whether HIMEM is to take control of the A20 line even if A20
was on when HIMEM was loaded. The A20 handler gives your computer access
to the HMA. If you specify /A20CONTROL:OFF, HIMEM takes control of the
A20 line only if A20 was off when HIMEM was loaded. The default setting
Specifies whether HIMEM is to affect the clock speed of your computer.
If your computer's clock speed changes when you install HIMEM,
specifying /CPUCLOCK:ON may correct the problem; however, enabling this
option slows down HIMEM. The default setting is /CPUCLOCK:OFF.
Specifies that HIMEM should allocate all available extended memory. This
switch is necessary only on an EISA (Extended Industry Standard
Architecture) computer with more than 16 MB of memory; on other
computers, HIMEM automatically allocates all available extended memory.
Specifies how many kilobytes of memory an application must require for
HIMEM to give that application use of the HMA. Only one application can
use the HMA at a time; HIMEM allocates the HMA to the first application
that meets the memory-use requirements set by this option. You can
specify a value from 0 to 63.
Set /HMAMIN to the amount of memory required by the application that
uses the most HMA memory.
The /HMAMIN option is not required; the default value is zero. Omitting
this option (or setting it to zero) specifies that HIMEM allocate the
HMA to the first application that requests it, regardless of how much of
the HMA the application is going to use.
The /HMAMIN option has no effect when Windows is running in 386 enhanced
Allocates the amount of extended memory (in kilobytes) to be reserved
for the Interrupt 15h interface. Some older applications use the
Interrupt 15h interface to allocate extended memory rather than using
the XMS (eXtended-Memory Specification) method provided by HIMEM. If you
use these applications, you can ensure enough memory is available to
them by setting xxxx to 64 KB larger than the amount required by the
You can specify a value from 64 to 65535; however, you cannot specify
more memory than your system has available. If you specify a value less
than 64, the value becomes 0. The default value is 0.
Specifies the maximum number of extended-memory block (EMB) handles that
can be used simultaneously. You can specify a value from 1 to 128; the
default value is 32. Each additional handle requires an additional 6
bytes of memory.
The /NUMHANDLES option has no effect when Windows is running in 386
Specifies what type of computer you are using. Usually, HIMEM can detect
your computer type successfully; however, there are a few computers that
HIMEM cannot detect. On such systems, HIMEM uses the default system type
(IBM AT or compatible). You might need to include the /MACHINE option if
your computer is a type that HIMEM cannot detect and if HIMEM does not
work properly on your system by using the default system type.
Currently, systems that require this option include Acer 1100, Wyse, and
The value for xxxx can be any of the codes or their equivalent numbers
listed in the following table.
Code Number Computer type
at 1 IBM AT or 100% compatible
ps2 2 IBM PS/2
ptlcascade 3 Phoenix Cascade BIOS
hpvectra 4 HP Vectra (A & A+)
att6300plus 5 AT&T 6300 Plus
acer1100 6 Acer 1100
toshiba 7 Toshiba 1600 & 1200XE
wyse 8 Wyse 12.5 Mhz 286
tulip 9 Tulip SX
zenith 10 Zenith ZBIOS
at1 11 IBM PC/AT (alternative delay)
at2 12 IBM PC/AT (alternative delay)
css 12 CSS Labs
at3 13 IBM PC/AT (alternative delay)
philips 13 Philips
fasthp 14 HP Vectra
ibm7552 15 IBM 7552 Industrial Computer
bullmicral 16 Bull Micral 60
dell 17 Dell XBIOS
Specifies whether to disable shadow RAM (SHADOWRAM:OFF) or to leave the
ROM code running from RAM (SHADOWRAM:ON).
Some computers make ROM code run faster by "shadowing" it in RAM--that
is, by copying the ROM code into faster RAM memory at startup, which
uses some extended memory. On computers that use shadow RAM and have
less than 2 MB of RAM, HIMEM usually attempts to disable shadow RAM to
recover additional extended memory for Windows to use. (HIMEM can
disable shadow RAM only on certain types of systems.) When HIMEM
disables shadow RAM, the ROM code runs in the slower ROM instead of RAM;
therefore, your computer might run slightly slower than it did before.
Determines whether HIMEM performs a memory test when your computer
starts. By default, HIMEM tests the reliability of your computer's
extended memory each time your computer starts. This test can identify
memory that is no longer reliable; unreliable memory can cause system
instability or loss of data. HIMEM's memory test is more thorough than
the standard power-up memory test performed by most computers. To
prevent HIMEM from performing the memory test, specify /TESTMEM:OFF.
Disabling the memory test will shorten the startup process. (The default
setting is /TESTMEM:ON.)
Directs HIMEM to display status and error messages while loading. By
default, HIMEM does not display any messages unless it encounters an
error. You can abbreviate /VERBOSE as /V. (To display status messages
without adding the /VERBOSE switch, press and hold the ALT key while
HIMEM starts and loads.)