Home > Commands A-M > Commands L

LOADHIGH (LH)


Description | Syntax | Parameters | Switches | Related | Notes | Examples | Errorlevels | Availability

Loads a program into the upper memory area. Loading a program into the upper memory area leaves more room in conventional memory for other programs. (For more information about optimizing memory, see the chapter "Making More Memory Available" in the DOS User's Guide.)


Syntax

LOADHIGH [drive:][path]filename [parameters]

OR

LH [drive:][path]filename [parameters]

To specify the region(s) of memory into which to load the program:

LOADHIGH [/L:region1[,minsize1][;region2[,minsize2]...] [/S]] [drive:][path]filename [parameters]

OR

LH [/L:region1[,minsize1][;region2[,minsize2]...] [/S]] [drive:][path]filename [parameters]


Parameters
drive: ( path v5.0 Win95 NT3.5)
Specifies the drive and directory of the program you want to load.
filename (v5.0 Win95 NT3.5)
Specifies the name of the program you want to load.
parameters (v5.0 Win95 NT3.5)
Specifies any command-line information required by the program.

Switches
(/L:region1[,minsize1][;region2[,minsize2]...] v5.0 Win95)
Specifies one or more regions of memory into which to load the program. If /L is not used, The operating system loads the program into the largest free upper-memory block (UMB) and makes all other UMBs available for the program's use. You can use the /L switch to load the program into a specific region of memory or to specify which region(s) the program can use.
To load the program into the largest block in a specific region of upper memory, specify the region number after the /L switch. For example, to load the program into the largest free block in region 4, you would type /L:4. (To list the free areas of memory, type MEM /F at the command prompt.)
When loaded with the /L switch, a program can use only the specified memory region. Some programs use more than one area of memory; for those programs, you can specify more than one region. (To find out how a particular program uses memory, use the MEM /M command and specify the program name as an argument.) To specify two or more regions, separate the block numbers with a semicolon (;). For example, to use blocks 2 and 3, you would type /L:2;3.
Normally, the operating system loads the program into a UMB in the specified region only if that region contains a UMB larger than the program's load size (usually equal to the size of the executable program file). If the program requires more memory while running than it does when loaded, you can use the minsize parameter to ensure that the program will not be loaded into a UMB that is too small for it. If you specify a value for minsize, the operating sytem loads the program into that region only if it contains a UMB that is larger than both the program's load size and the minsize value.
/S (v5.0 Win95)
Shrinks the UMB to its minimum size while the program is loading. Using this switch makes the most efficient use of memory. This switch is typically used only by the MEMMAKER program, which can analyze a program's memory use to determine whether the /S switch can safely be used when loading that program. This switch can be used only in conjunction with the /L switch and affects only UMBs for which a minimum size was specified.

Related

For information about loading device drivers into upper memory, see the DEVICEHIGH configuration command.
For information about using the MEMMAKER program to move programs to the upper memory area, see the MEMMAKER command.


Notes
DOS=UMB command required

To use the LOADHIGH command, you must include the DOS=UMB command in your CONFIG.SYS file. For more information about the DOS=UMB command, see the DOS configuration command.


Using MemMaker to optimize the upper memory area automatically

The MEMMAKER program, included with the operating system, automatically optimizes your system's memory. MEMMAKER surveys the upper memory area, analyzes the memory use of your drivers and programs, and determines which drivers and programs fit best into the available UMBs. MEMMAKER then adds the LOADHIGH command to selected lines in your AUTOEXEC.BAT file and adds /L and /S switches as necessary. For more information about using MEMMAKER to optimize your computer's memory, see the chapter "Making More Memory Available" in the DOS User's Guide.


Upper-memory-area manager must be installed

Before you can load a program into the upper memory area, you must install an upper-memory-area manager. The operating system provides EMM386.EXE, which manages the upper memory area for computers with an 80386 or higher processor. To install EMM386.EXE, you add a DEVICE command to your CONFIG.SYS file. (The DEVICE command for the HIMEM.SYS extended-memory manager must precede the DEVICE command for EMM386.EXE.)


How LOADHIGH works

When you use the LOADHIGH command to load a program, the operating system attempts to load it into the upper memory area. If there is insufficient space in the upper memory area, the operating system loads the program into conventional memory. To determine which UMB(s) the program is using, use the MEM /M command and specify the program name as an argument.


Using LOADHIGH in your AUTOEXEC.BAT file

The most convenient way to use the LOADHIGH command is to include it in your AUTOEXEC.BAT file. (If you use the MEMMAKER program, it automatically adds any necessary LOADHIGH commands to the AUTOEXEC.BAT file.)


Examples

This command loads the DOSKEY program into the upper memory area and specifies that the operating system should load the driver into region 1:

    LOADHIGH /L:1 C:\DOS\DOSKEY

This command loads the MYPROG.EXE program into region 1, and also gives it access to upper memory regions 3 and 4:

    LH /L:1;3;4 C:\PROGRAMS\MYPROG.EXE

This command loads the MYPROG program into conventional memory (region 0) and also gives it access to upper memory region 1:

    LOADHIGH /L:0;1 C:\PROGRAMS\MYPROG.EXE

Errorlevels

none.


Availability
External
DOS
v5.0 v5.0A v5.00.02 v5.001A v5.01 v5.02 v6.0 v6.10 v6.2 v6.21 v6.22 v6.23 v7.00 v7.0R1 v7.10 v8.00
Windows
Win95 Win98 WinME
Windows NT
NT3.5 NT4 NT2000