cancel
Showing results for 
Search instead for 
Did you mean: 

Can someone explain how the -C value drops to the -CL value?

0 Kudos

Hi all,

sorry if this question is rather silly but Im trying to understand how the system knows when to change the cache from the -C value to the -CL value in Sybase 12.

The official documentation explains this as

-C = "Sets the initial memory reserved for caching database pages and other database server information".

-CL = "Sets a minimum cache size as a lower limit to dynamic cache resizing".

It also states "This option sets a lower limit to the cache. If -c is specified, and -cl is not specified, then the minimum cache size is set to the initial cache size (the -c setting)".

My question is WHEN and HOW does the system know to drop the amount of Cache from the -C to the -CL values?

Example:

-C 6G -CL 2G

Thanks

David

Accepted Solutions (1)

Accepted Solutions (1)

former_member244518
Participant
0 Kudos

Hi David,

Two common scenarios where this could happen:

If there is a lack of physical memory available on the host machine, SQL Anywhere will lower it's cache size in response. The processes private working set is checked periodically to make sure the cache is backed by physical memory.

If the sum of all images (dbspaces + temp files + internal overhead) is less the the initial cache size, the database server will run with a cache size sufficient to store this information. In your example of -c 6G -cl 2G, this means that if the sum of all possible data that could be in cache was 1GB, the current cache size would be 2GB (even at startup).

Setting an initial cache size close to the value you expect the cache to be is a good idea, internal structures are initialized at startup based on this value.

Mikel

Answers (1)

Answers (1)

JasonHinsperger
Advisor
Advisor
0 Kudos

You can find a basic description of cache resizing here:

http://dcx.sybase.com/index.html#sa160/en/dbusage/perform-bridgehead-4057199.html*d5e11238

Basically, there is an internal heuristic that the server evaluates periodically to decide whether or not the cache needs to grow or shrink.  It takes into account things like database server activity, amount of memory available and the activity of other processes on the machine.

--Jason