Novell is now a part of Micro Focus

Novell Server Memory

Articles and Tips: article

01 Nov 1995

Tuning the Number-of-Files Calculation

SERVER MEMORY Tuning the Server Memory Calculation Worksheet

Earlier this year Novell Research published the NetWare 3 and 4 Server Memory Worksheet "Calculating Memory Require-ments for NetWare 3 and4" in the January 1995 Novell Application Notes). This worksheet is a more accurate means for calculating the amount of memory needed for NetWare 3 and 4 servers. However, like calculations published in the past, the worksheet only provides you with a ballpark figure.

Here are several hints to help you "tune" the worksheet to make its results even more accurate.

Note: References to V1-7 and Lines 1-10refer to variables and calculations in the worksheet. For yourconvenience, a copy of the worksheet and its instructions areincluded in this issue.

Tuning the Number-of-Files Calculation

Determining the number of files a server will ultimately store is an impossible task. But there is a way to come up with a fairly accurate estimate based on your current store of data and your average file size. Many server backup tools conclude their tasks by reporting the total number of files backed up, as well as the total number of bytes. From this information, you can derive your average file size according to this formula:

Now divide your new server's storage capacity (V2 on the worksheet) by your average file size to produce the total number of files (V7) your server will eventually store. Don't forget to convert megabytes to bytes by multiplying V2 by 1,048,576 (the number of bytes in 1MB). Use this formula:

Using this method, you can feel more comfortable that your memory calculation really is representative of a server in full production.

Tuning the Cache Calculation

The worksheet separates what was once a single calculation into two: one for the allocation of file system data structures and another for file cache. We did this because the two calculations are completely unrelated - one being quantitative and the other qualitative.

The calculation for file system data structures is a known quantity based on volume size, volume block size, and number of files stored on the volume. This file system overhead is used to cache the File Allocation Tables, Directory Entry Tables, and media manager tables that describe the allocation of data on the volume. The memory calculation for these data structures is straightforward because the variables are either known or can be estimated with some accuracy.

However, the calculation for file cache falls squarely in the realm of qualitative analysis, making it much more difficult to calculate. This is due to the number of variables that can impact the way cache is used, including:

  • The type and characteristics of the applications used to access the data

  • The characteristics of read and write requests including random or sequential patterns, the size of the requests, and the frequency of requests

  • The total size of the data set the server is providing access to

  • The number of clients

In an effort to simplify matters for the worksheet, we developed a composite client based on observations of cache usage patterns of more than 2000 clients spread over ten different NetWare 4 servers. The numbers in the worksheet were based on two fundamental observations:

  1. In tuned servers where there were fewer than 50 clients or servers in which very little common data was shared, the average amount of cache per client was 0.4MB.

  2. In tuned servers where there were more than 150 clients or servers in which there was a high degree of shared data access, the average amount of cache per client diminished as the number of clients or the degree of sharing increased.

The worksheet calculation for Line 6 is derived from these two observations, with the calculation being weighted more toward the number of clients than the degree of shared data access. Knowing this, you can adjust the Line 6 calculation up or down based on the amount of shared data access on the target server.

  • If the server will act as a store for hundreds of users that willbe using productivity applications to access private data in private directories, use the 0.4MB, 0.2MB, 0.1MB, and 0.05MB values in the calculation. You could even consider rounding them up to suit your needs.

  • If the target server's data set is completely shared and you expect a high degree of cache re-use by your user community, you may be able to round down the Line 6 values to meet your needs.

A Cache Tuning Strategy

Once you've installed your server with the memory you calculated with the worksheet, you still need to tune the cache. After all, the memory worksheet is just a ballpark value. Once the server is installed in the actual production environment, you need to check your work. You can do this by using the LRU Sitting Time statistic.

For more information, including a full cache tuning strategy, see "Tuning Cache with the NetWare 4 LRU Sitting Time Statistic," Novell Application Notes, March 1995.

Automating the Worksheet with SMEM.EXE

SMEM.EXE is a freeware application available on NetWire's NovUser forum. SMEM accepts Variables 1 through 7, handles the computation for additional name spaces, and allows you to redirect the output of the worksheet to a file or printer. The latest version is dated 12-Aug-95. (Our thanks goes out to Marcus Williamson, a Novell consultant in the U.K., for this fine application.)

Note: NOVMEM.EXE is a previously published memory calculator thatis no longer distributed.

-Ron Lee

Server Memory

Calculating Memory Requirements for NetWare 3 and 4

If you need to calculate the memory requirements for a new server, or double-check the memory requirements for an existing server, here is a convenient worksheet with updated calculations for today's server configurations.

A Memory Calculation for the '90s

The accuracy of server memory calculations has become more important in the last few years. Growing disk capacities and user communities, as well as sophisticated server applications and the platforms that host them, are placing more and more emphasis on memory.

In the midst of these explosive changes, we've taken a fresh look at server memory requirements and created the attached worksheet. This new worksheet:

  • replaces the versions of the calculation found in the NetWare 3 and 4 documentation

  • satisfies the memory requirements for both NetWare 3 and 4 server configurations

  • simplifies the process by using a single unit of measure

  • adds precision to the disk-related calculations by breaking out the file cache requirements into a separate calculation

The server memory calculations included in NetWare 3 and 4 documentation are outdated and in some cases produce wildly incorrect requirements. You'll see signifi-cant differences between the old and new calculations' results for a large disk capacity. The old calculations, which tagged file cache requirements onto the disk calculation, produced incorrect results as server disk capacities soared above 2GB. In the new worksheet, we've corrected the disk-related calculation and now allow you to figure your file cache requirement based on your total number of clients. This is the correct way to figure file cache requirements.

Memory in NetWare 3 and 4

Only three differences between the NetWare 3 and 4 operating systems impact a server's memory requirement. We've built considerations for these differences into the worksheet so that memory requirements for both operating systems can be calculated on the same worksheet.

Core Operating System Requirements. The NetWare 4 operating system requires an additional 3MB of memory. This memory supports the additional core services added to NetWare 4.

File Compression. File compression requires a static 250KB of memory when activated.

Block Suballocation. Block suballocation requires five bytes of memory for every file managed by the server. This is an insignificant amount of memory for many systems.

The Worksheet

The attached worksheet requires you to do some homework before getting started with the calculations. You'll need to know the following about your server:

Total disk capacity. This is the total number of megabytes attached to your server. Use 1024MB for each gigabyte.

Total useabledisk capacity. If your disk storage subsystem will be duplexed or mirrored, this is half the total disk capacity above. Otherwise, the two numbers are equal.

Total number of clients. This is the total number of end-users or connections that will be simultaneously using the server.

Volume block size. This is the block size used during the installation of your NetWare volumes. The accuracy of this variable is important because volumes with 4KB blocks require 16 times the amount of memory required by volumes with 64KB blocks.

Estimated total number of files. This is your estimate of the total number of files that will reside on the server. A ballpark estimate will suffice because the directory tables only require 6 bytes per file. If you're using block sub-allocation, this requirement increases to 11 bytes per file.

Once you've got this information, use it to calculate the server variables on the worksheet. Then run through the worksheet's ten line calculation to arrive at your server's total memory requirement.

Beyond the Worksheet

If you're building a server with Name Spaces, CD-ROM, NetWare for Macintosh, or other specialized server applications, the worksheet will only give you a baseline memory requirement. Look up the following resources and add the necessary memory at the bottom of the worksheet for an accurate total.

Name Spaces. See "Name Spaces: Server Memory Requirements for Additional Name Spaces" in the Novell Application Notes, January 1995.

Server Applications. Memory calculations for NetWare for Macintosh, NetWare for SAA, OracleWare, and other NetWare server applications can be found in their documentation and on the Network Support Encyclopedia (NSEpro) CD-ROM.

- Ron Lee

NetWare 3 and 4 Server Memory Worksheet

(from Novell Application Notes, January 1995)

STEP 1: Calculate the following variables.

V1. Enter the total numberof megabytes of disk connected to the server(For example: enter 1 foreach MB, enter 1024 for each GB)


V2. Calculate the number of megabytes of useable disk space connected to the server (If you are mirroring or duplexing multiply V1* 0.5, otherwise copy V1)


V3. Enter the server's volume block size (4, 8, 16, 32,or 64)


V4. Calculate the number of disk blocks per MB (divide1024 / V3)


V5. Calculate the total number of disk blocks (MultiplyV2 * V4)


V6. Enter the maximum number of clients (end-users) attachedto the server (For example: enter 24 for 24 end-users)


V7. Enter the maximum number of files that will resideon the server


STEP 2: Calculate your individual memory requirements.

Line 1. Enter the base memory requirement for the coreOS(enter 2048 for NetWare 3, or 5120 for NetWare 4)


Line 2. Calculate the memory requirement for the Media Manager(multiply V1 * 0.1)


Line 3. If File Compression is enabled, enter 250, otherwiseenter 0


Line 4. Calculate the memory requirement for directory tables(multiply V7 * .006, or if suballocation is enabled multiply V7 * .011)


Line 5. Calculate the memory required to cache the FAT (multiplyLine V5 * .008)


Line 6. Calculate the memory requirement for file cache usingthe following table.This calculation uses a 0.4MB file cache per client memoryrequirement. The decrease as the user community size increases is based on assumptions regarding increasedrepetitive use ofshared data (temporal and spacial locality) within cache.


Less than 100 clients V6 * 400Between 100 and 250 clients 40,000 + ((V6 - 100) * 200)Between 250 and 500 clients 70,000 + ((V6 - 250) * 100)Between 500 and 1000 clients 95,000 + ((V6 - 500) * 50)

Line 7. Enter the total memory (KB) required for supportNLMs. 2,000KB is recommended for BTRIEVE(700),CLIB(500), INSTALL(600), and PSERVER(200)


Line 8. Enter the total memory (KB) required for otherservices.Other services include NetWare for Macintosh, NetWare for SAA, OracleWare,NetWare Management System, and so on.


STEP 3: Calculate your total memory requirement.

Line 9: Total Lines 1.. 8 for your total memory requirement (in KB)


Line 10: Divide Line 9 by 1024 for a result in MB Using this result, round up to the server's nearest memory configuration. NetWare willenhance server performance by using all leftover memory for additional file cache.


* Originally published in Novell AppNotes


The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates