dbTalk Databases Forums  

Bug with max cache size adjustment in 8.0.3.x?

sybase.public.sqlanywhere.general sybase.public.sqlanywhere.general


Discuss Bug with max cache size adjustment in 8.0.3.x? in the sybase.public.sqlanywhere.general forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Bob Leviton
 
Posts: n/a

Default Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 11:16 AM






Just came across this and wondering if it's a known issue. ASA
8.0.3.5267 on Windows Server 2003 R2 32 bit. Machine has 4GB or more
RAM. Database service params include "-c 100M -ch3072M". On startup, a
message like the following is displayed: "Maximum cache size adjusted
to 1908124K 102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1908124K". The
problem is that after this, no more than 100M RAM will ever be used by
dbserv8, and it may use less (i.e. 25M). It's as if the specified
minimum is used as the maximum, and something lower is being used as
the minimum. The result is a drastic reduction in performance.

Reply With Quote
  #2  
Old   
Kory Hodgson (Sybase iAnywhere)
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 11:26 AM






The appropriate parameter for specifying the lower limit of cache is -cl
not -c.

-c sets the initial cache size.

Bob Leviton wrote:
Quote:
Just came across this and wondering if it's a known issue. ASA
8.0.3.5267 on Windows Server 2003 R2 32 bit. Machine has 4GB or more
RAM. Database service params include "-c 100M -ch3072M". On startup, a
message like the following is displayed: "Maximum cache size adjusted
to 1908124K 102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1908124K". The
problem is that after this, no more than 100M RAM will ever be used by
dbserv8, and it may use less (i.e. 25M). It's as if the specified
minimum is used as the maximum, and something lower is being used as
the minimum. The result is a drastic reduction in performance.

Reply With Quote
  #3  
Old   
Bob Leviton
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 11:36 AM



OK, but what about the max apparently not getting applied correctly?

On Jan 25, 11:26*am, "Kory Hodgson (Sybase iAnywhere)"
<khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
Quote:
The appropriate parameter for specifying the lower limit of cache is -cl
not -c.

-c sets the initial cache size.

Reply With Quote
  #4  
Old   
Kory Hodgson (Sybase iAnywhere)
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 12:11 PM



32-bit operating systems are limited to 2GB of address space, so the max
cache you could allocate would be a bit less than this.

Please see:
http://msdn.microsoft.com/en-us/libr...#memory_limits

Bob Leviton wrote:
Quote:
OK, but what about the max apparently not getting applied correctly?

On Jan 25, 11:26 am, "Kory Hodgson (Sybase iAnywhere)"
khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
The appropriate parameter for specifying the lower limit of cache is -cl
not -c.

-c sets the initial cache size.

Reply With Quote
  #5  
Old   
Bob Leviton
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 12:45 PM



OK, but the fact remains that after ASA said it was adjusting the max
cache down to 1900M, it actually limited the cache to 100M, which I
proved through repeated testing. That is the bug I'm referring to.


On Jan 25, 12:11*pm, "Kory Hodgson (Sybase iAnywhere)"
<khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
Quote:
32-bit operating systems are limited to 2GB of address space, so the max
cache you could allocate would be a bit less than this.

Please see:http://msdn.microsoft.com/en-us/libr....aspx#memory_l...

Reply With Quote
  #6  
Old   
R. Pods
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 12:46 PM



You might want to look for the memory limits in the documentation:
dbsrv8.exe -> command line -> -cw

AFAIK the upper limit of the cache for a 32 bit server process will be
around 1800 M.

HTH
Reimer

Bob Leviton wrote:
Quote:
OK, but what about the max apparently not getting applied correctly?

On Jan 25, 11:26 am, "Kory Hodgson (Sybase iAnywhere)"
khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
The appropriate parameter for specifying the lower limit of cache is -cl
not -c.

-c sets the initial cache size.

Reply With Quote
  #7  
Old   
Kory Hodgson (Sybase iAnywhere)
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 01:02 PM



"Maximum cache size adjusted to 1908124K 102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1908124K"

This says the max cache is about 1.9 GB and that 100MB is being used.
Max does not mean it will be used, just that it can be used is required.
The -c initial cache setting set the initial cache to 100MB as indicated
by the output you provided.

Bob Leviton wrote:
Quote:
OK, but the fact remains that after ASA said it was adjusting the max
cache down to 1900M, it actually limited the cache to 100M, which I
proved through repeated testing. That is the bug I'm referring to.


On Jan 25, 12:11 pm, "Kory Hodgson (Sybase iAnywhere)"
khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
32-bit operating systems are limited to 2GB of address space, so the max
cache you could allocate would be a bit less than this.

Please see:http://msdn.microsoft.com/en-us/libr....aspx#memory_l...

Reply With Quote
  #8  
Old   
Chris Keating (Sybase iAnywhere)
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 01:15 PM



How are you measuring the cache size? You can use -cs to monitor the
cache sizing on the engine console.

Note that there is a limit to available cache on Windows 32 bit
processes. To gain access to max size for an OS, you will need to start
the OS with the /3GB option.


Bob Leviton wrote:
Quote:
OK, but the fact remains that after ASA said it was adjusting the max
cache down to 1900M, it actually limited the cache to 100M, which I
proved through repeated testing. That is the bug I'm referring to.


On Jan 25, 12:11 pm, "Kory Hodgson (Sybase iAnywhere)"
khodgson (AT) A_SPAM_FREE_sybase (DOT) com> wrote:
32-bit operating systems are limited to 2GB of address space, so the max
cache you could allocate would be a bit less than this.

Please see:http://msdn.microsoft.com/en-us/libr....aspx#memory_l...

Reply With Quote
  #9  
Old   
Nick Elson [Sybase iAnywhere]
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 01:23 PM



This sound like this may be more an issue of how memory
usage is being measured.

If you are just looking at standard memory column shown in Windows
Task Manager, that is not the address space being used. It is
just the 'working set' in physical memory. Unless we are talking
about pinned memory (or even AWE) almost all memory is virtual
on Windows and the operating system is free to swap out as
much as it see's fit.

The default columns Task manager displays, do not report the total
amount of memory assigned to the application. Adding in the additional
memory columns or using the performance monitor should tell you
better what memory is assigned.

Of course, if the operating system has the database server mostly
swapped out, that would indicate one of two different scenarios
are at play. One is the whole machine is overloaded with other
tasks (in addition to just the database server). The other is the
database server may not be all that busy or demanding.


HTH



"Bob Leviton" <leviton.r (AT) emssatcom (DOT) com> wrote

Quote:
Just came across this and wondering if it's a known issue. ASA
8.0.3.5267 on Windows Server 2003 R2 32 bit. Machine has 4GB or more
RAM. Database service params include "-c 100M -ch3072M". On startup, a
message like the following is displayed: "Maximum cache size adjusted
to 1908124K 102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1908124K". The
problem is that after this, no more than 100M RAM will ever be used by
dbserv8, and it may use less (i.e. 25M). It's as if the specified
minimum is used as the maximum, and something lower is being used as
the minimum. The result is a drastic reduction in performance.

Reply With Quote
  #10  
Old   
Bob Leviton
 
Posts: n/a

Default Re: Bug with max cache size adjustment in 8.0.3.x? - 01-25-2010 , 01:41 PM



Chris & Nick, yes I was looking at "mem usage", "peak mem usage", and
"VM size" in Task Manager. Thanks for the tip about the -cs option. I
see the same figures when I use it as I saw in Task Manager.

Here's the -cs output when I have -ch set low enough that ASA will not
adjust it (-c 100M -ch 1024M) and do my test to load up the cache:
-------------------------------------------------------------------------------------------------------
Sybase Adaptive Server Anywhere Network Server Version 8.0.3.5267
....
Running on Windows XP Build 2600 Service Pack 3
102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1048576K
....
OS Available: 2059492K, Working Set: 110244K, Cache Target: 812032K
Cache size adjusted to 812032K
-------------------------------------------------------------------------------------------------------

Now here's what I get when I set -ch too high (-c 100M -ch 2048M) and
perform the same test:
-------------------------------------------------------------------------------------------------------
Sybase Adaptive Server Anywhere Network Server Version 8.0.3.5267
....
Running on Windows XP Build 2600 Service Pack 3
Maximum cache size adjusted to 1908112K
102400K of memory used for caching
Minimum cache size: 102400K, maximum cache size: 1908112K
....
OS Available: 2128484K, Working Set: 110604K, Cache Target: 1456684K
OS Available: 2124828K, Working Set: 110644K, Cache Target: 1456684K
OS Available: 2058288K, Working Set: 110644K, Cache Target: 1456684K
-------------------------------------------------------------------------------------------------------

The above results can be reproduced consistently.


On Jan 25, 1:23*pm, "Nick Elson [Sybase iAnywhere]"
<@nick@dot@elson@at@sybase@dot@com@> wrote:
Quote:
This sound like this may be more an issue of how memory
usage is being measured.

If you are just looking at standard memory column shown in Windows
Task Manager, that is not the address space being used. *It is
just the 'working set' in physical memory. *Unless we are talking
about pinned memory (or even AWE) almost all memory is virtual
on Windows and the operating system is free to swap out as
much as it see's fit.

The default columns Task manager displays, do not report the total
amount of memory assigned to the application. *Adding in the additional
memory columns or using the performance monitor should tell you
better what memory is assigned.

Of course, if the operating system has the database server mostly
swapped out, that would indicate one of two different scenarios
are at play. *One is the whole machine is overloaded with other
tasks (in addition to just the database server). *The other is the
database server may not be all that busy or demanding.

HTH

Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.