Netware
Server Memory Rules of Thumb
Hoo-doggie! Ain't this a good question. For you aspiring CNE's, don't read this part. It's full of my personal opinions about what makes a Netware server run well. Novell has a formula for computing the amount of required memory -- you should remember remember that instead, until you've passed the exam. There are also programs that will help you plan how much RAM you need. One can be found at http://www.novell.com/programs/ncs/toolkit/tools/nrame100.zip
Generally, I start with 16MB for a 3.12 server, and 32MB for a 4.1x server, and 64MB for a NW5.X server. Add 4MB for every gigabyte of disk space over 2GB. This is generally enough for basic file sharing and print sharing using PSERVER. If you add third party programs, you may need to add additional RAM. Server based backup generally wants an additional 8MB. For GroupWise, I'd add at least 32additional MB. IPX/IP gateways add another 8MB. Remember, RAM is cheap, and there's no penalty for too much (except for certain motherboards which have trouble running more than 64MB through the L2 cache). There's some wisdom to just starting with 64MB (128MB in the case of 5.x), to avoid having to upgrade the memory later.
But now I have problems
Many people see a message on their console:'Cache Memory Allocator Out of Available Memory', even when they have lots of memory in the server. Although the cause of this may be the obvious (not enough RAM), many times it is a symptom of a server that is improperly configured. Most of what I'm about to cover is in on the Novell support site at http://support.novell.com. Search for TID 1003164.
If your server is an EISA box, you should never have this problem, but you need to remember that there are two places in the hardware where the memory needs to be configured -- in the CMOS, and in the EISA configuration utility. In general, when trying to determine how much memory is in the machine, Netware will ignore the CMOS, and check the EISA configuration.
In ISA machines, it depends. Modern PCI/ISA motherboards generally don't have trouble once you've loaded all the available Netware OS patches. Of course, your first step should always be to make sure you have the most current patches in your system.
Check to see how much memory the system is 'seeing' entering the command MEMORY at the console prompt. If the system refuses to see the additional memory on it's own, you will need to manually register the memory for Netware to use. This is done with the console command REGISTER MEMORY <start address> <address space to add>. The numbers for the starting point and the amount to register are in hexadecimal, so you have to think about what you type. I'll tell you how I remember it: 16MB = 1000000 and 8MB = 800000
For example, if the server has 64MB and is only seeing 16MB, the REGISTER MEMORY command would be
REGISTER MEMORY 1000000 3000000
or, "starting at the 16MB boundary, register an additional 48MB of RAM"
If the server has 72MB of memory, it would be
REGISTER MEMORY 1000000 3800000.
It is very, very important that all system memory be registered before any volumes are mounted. If not, serious memory fragmentation can occur, and you could still get the 'cache memory allocator out of available memory' errors, even if you have a gazillion megabytes of RAM,. (don't ask for the register memory command parameters for one gazillion).
If you are using Netware 4.11, this is no problem. Put the REGISTER MEMORY command in the STARTUP.NCF file, BEFORE any disk drivers are loaded. At this point the problem is probably solved, although you might check settings for allocation pools and etc.
If you are using 3.1x, it's a little trickier, since REGISTER MEMORY can only go in the AUTOEXEC.NCF file which is located on the SYS: volume, which shouldn't be mounted until you run REGISTER MEMORY!
The way around that is to create the AUTOEXEC.NCF file on the DOS partition, in the same directory as SERVER.EXE. Move the disk drivers out of the STARTUP.NCF and into this new AUTOEXEC.NCF, and put the REGISTER MEMORY command in front of them. At this point, you can no longer use INSTALL to edit the autoexec.ncf file; it only looks at the one on SYS:. You'll have to use EDIT.NLM if you leave the entire AUTOEXEC.NCF on the DOS partition. The way I normally do it is to have the AUTOEXEC.NCF on the DOS partition do as little as possible, then run the AUTOEXEC.NCF on the SYS: volume. The reason for this is that some installation programs assume that AUTOEXEC.NCF is on the SYS: volume, and that's the one they expect to modify.