Return to nwtips.htm

NetWare Server RAM requirements:

These are my own recommendations based upon experience. Using more RAM may or may not help depending upon your specific configuration and usage patterns, however as long as you don’t exceed the cacheable range for your motherboard, adding additional RAM won’t hurt. 

Most 486, Pentium, and Pentium II systems have a cacheable address range of 512MB or less, while all Xeon, Pentium III and later CPUs are limited only by the amount of RAM you can install in the motherboard (up to 64GB).  The some Pentium II 350-450Mhz CPUs support a cacheable address range of 4GB.  See http://processorfinder.intel.com/scripts/default.asp or http://www.intel.com/products/browse/processor.htm for details on Intel CPUs.

Minimum RAM per (non-NSS) volume (in MB) = Volume_Size_in_MB * .008 / Block_size_in_KB

Minimum NSS RAM (NW5 and above) = 16MB (if NSS loaded)

Minimum OS RAM: NW3.x = 4MB, NW4.x = 8MB, NW5.x = 16MB, NW6.x = 64MB-192MB.  See TID 10091980 for tuning NW6 RAM settings.

Minimum REQUIRED RAM = Sum of Minimum RAM for each volume, plus Minimum OS RAM, plus Minimum NSS RAM, plus RAM used by other NLM's

GroupWise, Oracle, and Web servers can use quite a bit of RAM.

Minimum Recommended RAM (this is not the recommended amount, this is a minimum that is likely to be stable) = Lesser of Minimum REQUIRED RAM * 1.5 or Minimum REQUIRED RAM + 16MB

Maximum supported RAM: NW3.x = unknown (512+MB), NW4.x = 3.125GB, NW5.x = 4GB, NW6.x = 4GB (can use up to 64GB, but with limits on usage, see http://support.novell.com/cgi-bin/search/searchtid.cgi?/10069653.htm for details).  Note that most machines reserve part of the first 4GB address space for I/O devices so only the first 3.5GB may be accessible to the core OS.

Recommended RAM = Minimum REQUIRED RAM * 1.5 up to Minimum REQUIRED RAM * 3 (More than 256MB of available cache is of questionable benefit, except for large databases).  Increasing RAM above that level won't have much effect in a typical environment.  However, if you're running a large database on the server, having enough available RAM to cache the entire database can significantly improve performance when accessing the database.

Directory Cache Buffers (Traditional NW volumes):

What will likely help performance using traditional (not NSS) volumes is allocating enough directory cache buffers to cache most/all the allocated directory entries.  To calculate this number, estimate the number of files expected x 2 x number_of_name_spaces_used or execute

NDIR vol_name /VOL

for each traditional (not NSS) volume on your server and add up the numbers on the "Maximum directory entries:" line for each volume.  Divide that number by 32 to calculate the maximum directory cache your server may currently need to cache all directories.  That number is a good guideline for how many directory entries you'll want to allocate, assuming you have sufficient available RAM.  For example, my main volume DATA: has 401,920 maximum directory entries, my SYS volume has 49,152, and my DEV: volume has 41,472, for a total of 492,544.  492,544/32 = 15,392, so I use the following two parameters.

set Maximum Directory Cache Buffers = 20000

set Minimum Directory Cache Buffers = 15000

If I were more constrained on RAM, I would cut those numbers in half or add RAM.

These parameters can also significantly improve directory/file access times.

SET Directory Cache Allocation Wait Time = 0.1

SET Directory Cache Buffer NonReferenced Delay = 300 (or more if you have allocated enough buffers to cache the entire directory.  I use 3600)

SET Maximum Concurrent Directory Cache Writes = 100 (adjust based upon disk speed)

SET Maximum Number Of Directory Handles = 100 (or more)

 

Managing deleted file tracking on traditional (not NSS) volumes will minimize the performance impact of tracking deleted files and will minimize the RAM used for tracking the deleted directory entries (fewer directory cache buffers will be used/needed).  See nwtips.htm#purge for suggestions on managing deleted file tracking.