script You currently have JavaScript disabled. This site requires JavaScript to work properly.
For more details on how this site uses JavaScript see the JavaScript page.
 
NetWare DOS Client Memory Usage - zxnet

Menu:

NetWare
Clients
Client Software
Server Patches & Notes
Add-On Server Products
Novell DR-DOS Patches

NetWare DOS Client Memory Usage

Conventional memory is a scarce resource under DOS. How much does the NetWare client use? That depends.

Note that I'm not an expert on DOS memory optimisation or the NetWare client. An expert could probably reduce memory consumption further. That said I think its interesting to see what sort of results you get "out of the box" with minimal effort.

The Clients

The following clients were looked at:

Default Setup

To get something close to these results in VirtualBox with the AMD PCnet-PCI II NIC:

Client Free Memory Additional Memory Used mem /c output Notes
None/Clean boot 619KB 0KB boot.txt Clean install of DOS 6.22 with SETVER and SMARTDRV disabled.
NETX 531KB 88KB netx.txt
VLM 526KB 93KB vlm.txt
Client32 615KB 4KB c32.txt Minimal install - just the DOS client, nothing extra.

Out of the box Client32 is using extended memory automatically with only a small footprint in conventional memory. The other clients are running entirely in conventional memory.

EMM386

Next I ran memmaker with the VLM client in autoexec.bat. The result was basically adding EMM386 to config.sys and some stuff to try and load the VLM client high. Memmaker does nothing for Client32 - if emm386 is present it loads itself high automatically.

For comparison, I also gave Microsofts SMB client a go. The results are surprising.

Client Configuration Free Memory Additional Memory Used (incl. emm386 / excl. emm386) mem /c output Notes
None No client loaded 615KB 4KB / 0KB bootmm.txt The additional 4KB used even without a client loaded reflects MemMaker adding EMM386 to CONFIG.SYS.
NETX Loaded high 568KB 51KB / 47KB netx-lh.txt Only the network drivers (LSL, IPXODI and the ODI driver) would load high.
VLM Default 556KB 63KB / 59KB vlm_mm.txt memmaker replaced @call C:\nwclient\startnet with LH /L:0;1,54992 /S COMMAND /E:256 /CC:\nwclient\startnet and this is the result
loaded high 602KB 17KB / 13KB vlm-lh.txt Default startnet.bat altered to load everything high. This achieves far more than memakers change to autoexec.bat.
Minimal 567KB 57KB / 48KB vlmm_mm.txt The VLM client stripped to the bare minimum
Minimal loaded high 616KB 3KB / 0KB vlmm-lh.txt The VLM client stripped to the bare minimum, default startnet.bat altered to load everything high
Client32 Default 615KB 4KB / 0KB c32_vmm.txt With EMM386 running Client32 automatically loads high. If you already need EMM386 for something else then Client32s conventional memory footprint is effectively nothing.
ODI Driver 588KB 31KB / 27KB odi32.txt Client32 Loaded using the 16bit ODI Driver
ODI Driver, loaded high 615KB 4KB / 0KB odi32-lh.txt Client32 Loaded using the 16bit ODI Driver. Default startnet.bat altered to load all the .COM files high.
Everything 585KB 34KB / 30KB kitchen.txt I ticked all the boxes and it still doesn't use all that much RAM!
Microsoft SMB Basic 504KB 115KB / 111KB ms.txt For comparison: Microsoft SMB Client loaded using the basic redirector and TCP/IP. Not using TCP would save a chunk of RAM but that would leave it with only IPX removing its ability to talk to anything remotely modern.
Full 442KB 177KB / 173KB ms-full.txt For comparison: Microsoft SMB Client loaded using the full redirector and TCP/IP. The basic redirector only supports share level security making it a little useless for talking to anything besides 90s windows systems.

Summary:

Minimal VLM Configuration

The minimal VLM configuration used above consisted of adding the following to the NETWARE DOS REQUESTER section of net.cfg:

        use defaults = off
        vlm = conn.vlm
        vlm = ipxncp.vlm
        vlm = tran.vlm
        vlm = bind.vlm
        vlm = nwp.vlm
        vlm = fio.vlm
        vlm = general.vlm
        vlm = redir.vlm
        vlm = netx.vlm
        signature level = 0
        load low conn = off
        load low ipxncp = off
        cache buffers = 0
        pb buffers = 0
        connections = 2
        preferred server=VNW411

This sacrifices performance and some functionality to match Client32s conventional memory footprint. In particular:

If you're on a 386 you're probably better off just running Client32 and not sacrificing anything

NETX Memory Requirements on an 8088

I've also tried out the NETX client on an emulated IBM PC 5150 with only 256KB of RAM and a pair of 360KB 5.25" disks. This represents probably the minimum spec for a client on a NetWare server 3.x server. Memory used colum is memory used by netware client prior to logging in.

Bytes Free Memory after loading:
DOS Version Client Version DOS LSL.COM 3C503.COM IPXODI.COM NETx.COM login Memory Used Notes
MS-DOS 3.21 3.02 217,616 213,600 209,984 195,344 153,968 153,888 63,648 NETx.COM = NET3.COM because MS-DOS 3.x
3.32 PTF 1994 212,288 208,204 191,936 141,648 141,648 75,968
MS-DOS 4.01.01 3.02 205,744 201,728 198,112 183,472 141,648 141,568 64,096 NETx.COM = NET4.COM because MS-DOS 4.x.
3.32 PTF 1994 200,352 196,304 180,000 129,712 129,712 76,032
MS-DOS 5.0 DEC 3.32 PTF 1994 207,616 202,304 198,256 181,952 131,664 131,584 75,952 DEC OEM version of MS-DOS. Has DEC copyright on startup banner.
MS-DOS 6.0, 6.22 3.32 PTF 1994 206,528 201,216 197,168 180,864 130,576 130,576 75,952

I'm not sure if the version of MS-DOS 5.0 used has the same conventional memory footprint as the retail version. Its a DEC OEM version (came with a DECpc) that includes an additional setup disk, a few extra files and a DEC Copyright on the MS-DOS startup banner.

Further Reading

Disclaimer & Comments

I'm not a netware expert, don't have any of those fancy novell certifications and have never administred a netware network; I've just played with it at home occasionally since 2004 or so. Email me if you've got any suggestsions or corrections for this page or any extra information you think is worth including here. My address is david at this websites domain name (without the www bit of course).