Knowledge Base

Sybase Server - Dynamic Cache Sizing and VMWare

Hint Ref: 020909110003
Hint Date: 11/09/2009

Hint Details:

At a recent Sybase Partner Summit the subject of Server Cache allocation came up in reference to Sybase Servers installed on VMWare;

 

The recommendation of Sybase is that if a server is installed on a VM Server, Dynamic Cache Allocation should NOT be used. Instead the service should be started with a fixed cache allocation.

This is apparently due to the fact that Sybase automatically adjusts its cache size according to the number and frequency of I/O calls which are swapping the contents of RAM to and from Virtual Memory (the swap file).

In a VM situation, the Sybase Server is isolated from the 'real' server and so cannot accurately identify when virtual memory is really being used, as the I/O monitoring would relate to the VM environment where Virtual Memory swapping is not occurring.  

The result of this is that Sybase can incorrectly increase its cache size beyond the actual available memory on the real server and thus causing the cache to be stored in Virtual Memory rather than RAM.  The result of this can be a significant drop in the Server performance, far beyond the potential drop caused by a forced reduction in the cache size by fixing the cache size using the command line parameter.


(Please Note: This Procedure can be destructive and should only be used by Advanced Users.  RADical Systems (UK) Limited or its Partners cannot be held responsible, in anyway, for any consequence of using this or any other Database Function, Procedure or SQL command.  Responsibility resides solely with the user.  

IT IS HIGHLY RECOMMENDED THAT A FULL AND VALID SPACE MANAGER DATABASE BACKUP IS TAKEN AND VERIFIED AS VALID BEFORE MAKING ANY CHANGES TO THE DATABASE.)