Using Virtual Memory

NetWare provides a virtual memory system that moves data out of memory and into a swap file on disk if the data isn't used frequently. Thus, the virtual memory system ensures that RAM is used more efficiently. It lessens the likelihood that low memory conditions will cause a problem with the server. For general information about virtual memory, see Virtual Memory.

NetWare Remote Manager has several pages that can assist you in monitoring and managing the use of Virtual Memory system in your server.

To Do the following in NetWare Remote Manager

View the overall perfomance of the Virtual Memory system

  1. Click the Monitor Health link in the navigation frame.
  2. Click the Virtual Memory Performance link on the Server Health Monitoring page.
  3. Click the Info icon for each item listed on the Health Info table on the Virtual Memory Health Information page

View specific perfomance of the Virtual Memory system

  1. Click the View Memory Config link in the navigation frame.
  2. Click the Virtual Memory Page link on the System Memory Information page.
  3. Click the Virtual Memory Cache Pool link to view the statistics for each cache pool type. For information on each type of statistic listed, see the online help.
  4. Click the Virtual Memory Statistics link to view the following statistics: Current Available Memory, Free Desired Pages, Free Lots Pages, Free Minimum Pages, Memory Available State, Need Free Clean Pages, Need Free Pages, and Upper Page I/O Threshold. For information on each type of statistic listed, see the online help.

Change SET parameters associated with the Virtual Memory System

  1. Click the Set Parameter link in the navigation frame.
  2. Click the Memory link in the Category Name table on the Set Parameter Categories page.
  3. Click the value link for each specific Virtual Memory parameter you want to change.
  4. Enter the new value in the Current Value field and click OK.

You can manage the swapping of data by controlling the swap files where the data is stored on disk. To create, delete, and manage swap files, access NetWare Remote Manager and complete the tasks in the following table:

To Do the following in NetWare Remote Manager

Learn about the SWAP command

Click the Console Commands link in the navigation frame and then the SWAP Info icon on the Console Commands page.

Display the Swap File Usage Information page

Click the View Memory Config link in the navigation frame and then the Swap File Size icon on the System Memory Information page.

Create a swap file on a designated volume

  1. Click the View Memory Config link in the navigation frame and then the Swap File Size link on the System Memory Information page.
  2. Click the No value link in the Swapping Enabled column for the volume you want to enable.
  3. (Optional) On the Enable Swapping page, enter the values you want in the Minimum Size (2), Maximum Size (5), and Minimum Volume Free Size fields (free volume space). If you leave these fields blank, the default values in the parenthesis are used. These parameters specify minimum and maximum size of the swap file and the minimum free space that must be left on the volume.
  4. On the Enable Swapping page, click the Enable button.
  5. If the file is not on volume SYS: add the commands to create swap files to the AUTOEXEC.NCF file so the files are created each time the server is started.

The command syntax is SWAP ADD volume_name [parameter=value...]

Optional parameters are MIN, MAX, and MIN FREE.

For example:

SWAP ADD VOL1 MIN=3, MAX=6, MIN FREE=2000

Delete a swap file from a designated volume

  1. Click the View Memory Config link in the navigation frame and then the Swap File Size link on the System Memory Information page.
  2. Click the Yes value link in the Swapping Enabled column for the volume you want to delete the Swap file from.
  3. On the Enable Swapping page, click the Disable button.

If you are using protected address spaces, the Java Virtual Machine, or any other application that uses virtual memory, be sure to keep at least one swap file.

If the swap file is being used when it is deleted, then the swapped data is moved to another swap file. If there is no other swap file and there is not enough physical memory to move all the swapped data, an error message is displayed and the file is not deleted.

By default, a swap file is created on the volume SYS:. If you do not want a swap file on volume SYS:, place the SWAP DEL SYS command in the STARTUP.NCF file.

Change the parameter values for a swap file on a designated volume

  1. Click the View Memory Config link in the navigation frame and then the Swap File Size link on the System Memory Information page.
  2. Click the link for the value you want to change.
  3. On the Enable Swapping page, enter the new values you want.
  4. On the Enable Swapping page, click the Change button.

Using Swap Files

You can create one swap file per volume. The swap file for volume SYS: is created by default; you can delete it if necessary.

Data moved to disk by virtual memory is stored in any available swap file; it does not matter which volume the swap file is on. Generally, you should place swap files on the fastest volume, the one with the most available space, or the one that is used the least.

When you dismount a volume, the swap file is deleted. To keep a swap file on that volume, you must create the swap file again when the volume is mounted. The exception is the swap file for volume SYS:, which is created by default. For convenience, add the commands to create swap files to the AUTOEXEC.NCF file, so the files are created each time the server is started.

Swap files are dynamic; they expand and contract as data is swapped in and out of memory.


Responding to Disk Thrashing

The real value of virtual memory is in using a sufficient supply of memory more efficiently, thereby improving server performance.

If the overall supply of memory is running low, then swapping will occur more often when virtual memory is in use. If memory is extremely low, the system might spend a significant amount of its time swapping memory in and out of disk and have little time to accomplish useful work. This is called disk thrashing.

In extremely low memory conditions, NetWare moves all the memory from a protected address space into the swap file, temporarily stopping the modules within the space. After a period of time, NetWare moves the memory back into the protected address space and shuts down another space, moving its memory to the swap file. Without virtual memory, these extremely low memory conditions would cause processes to fail. With virtual memory, the server keeps running, although very slowly.

If the Average Clean Free Available State or the Average Page I/O state is Suspect or Bad on the Virtual Memory Health Information page in NetWare Remote Manager, your server is experiencing disk thrashing.

If your server is experiencing disk thrashing, you can use the following two hidden SET parameters (Memory category) to manage the balance between the virtural memory cache pool and the file system cache pool. Use caution when changing these parameters, because until you have more than 4 GB of memory in the server, increasing these parameters will remove memory from the file system cache pool and cause low memory conditions there.

You can specify the point at which the server sends an alert to the console because of excessive memory swapping by using the Average Page In Alert Threshold Set parameter (Memory category).

The value is the average number of pages swapped from disk to memory per second, calculated over the last five seconds. The default is 2000.

To change the values for this parameter using NetWare Remote Manager, do the following:

  1. Click the Set Parameters link in the navigation frame and then the Memory Category link on the Set Parameter Categories page.

  2. Click the value link for the Average Page In Alert Threshold setting.

  3. Enter the new value in the Current Value field and click OK.

When disk thrashing occurs, the complete solution is to add more RAM. Virtual memory cannot compensate for an overall lack of server memory, although it can prevent processes from failing and allow a server to continue to function.



Previous | Next