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 but with slower overall performance. It lessens the likelihood that low memory conditions will cause a problem with the server. For general information about virtual memory, see Virtual Memory.
One of the most important things you can do to allocate memory is to set the VM Cache Pool Percentage correctly. If you are running on a system with many applications running in protected mode or with many Java applications, set the percentage high. If you are not running in these two conditions, the VM Cache Pool Percentage doesn't matter.
Novell Remote Manager has several pages that can assist you in monitoring and managing the use of the virtual memory system in your server:
Table 4-1 Tasks and Procedures for Managing Memory by Using Novell Remote Manager
You can manage the swapping of data by controlling the swap files where the data is stored on disk.
You can create one swap file per volume. The swap file for volume sys: is created by default; you can delete it if necessary or move it to another volume.
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.
You can add a swap file to a volume that is not mounted. The file is created when you mount the volume. 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.
Swap files are dynamic; they expand and contract as data is swapped in and out of memory.
To create, delete, and manage swap files, access NW 6.5 SP8: Novell Remote Manager Administration Guide and complete the tasks in the following table:
Table 4-2 Tasks and Procedures for Managing Swap File by Using Novell Remote Manager
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 Novell Remote Manager, your server is experiencing disk thrashing.
The best way to prevent disk thrashing is to control how much memory is used by the virtual memory system. Set the VM Cache Pool Percentage parameter to a percentage between 0 to 90.
If you set it to more than the virtual memory system needs, it is harmless because the virtual memory system will not take it. But if you set it to less than the virtual memory system needs, you will create disk thrashing.
To set the VM Cache Pool Percentage in Novell Remote Manager:
Click
under the heading in the navigation frame.Under
, set to .Under
, click > .In the
field, type the new value, then click .If your server is experiencing disk thrashing, you can also use the following two hidden set parameters (Memory category) to manage the balance between the virtual memory cache pool and the file system cache pool:
VM Cache Pool Free Desired Pages
Range 0 to 2147483647, Default: 256
This parameter specifies the number of pages that the virtual memory system cache needs to operate properly.
VM Cache Pool Free Lots of Pages
Range: 0 to 2147483647, Default: 512
This parameter specifies the number of pages that the virtual memory system cache considers to be excessive. Having an available page count higher than this number might result in the pages being be given to another cache pool.
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 Novell Remote Manager:
Click
under the heading in the navigation frame, then click in the table on the Set Parameters page.Click the value link for the setting.
Type the new value in the
field, then click .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.