cancel
Showing results for 
Search instead for 
Did you mean: 

Sybase 'max memory'

PatRoy
Regular Advisor

Sybase 'max memory'

Hi.

Just need to know, we initially had ASE 15 with the 'max memory' set to 18000000. This brought us to about 35gbs of reserved memory out of 48.

swapinfo would therefor show us something like:

[root@NCRCI]:/sybase/ASE-15_0# swapinfo -tam
Mb Mb Mb PCT START/ Mb
TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME
dev 10240 39 10201 0% 0 - 1 /dev/vg00/lvol2
dev 38912 39 38873 0% 0 - 1 /dev/vg01/swap
reserve - 36063 -36063
memory 46720 44630 2090 96%
total 95872 80771 15101 84% - 0 -


We (sysadmins) feel our free memory is too short therefor asked the DBAs to reduce it's allocation. To 30Gbs instead. They say they've done so through the .cfg file, but they haven't restarted Sybase. Swapinfo shows the exact same number and so does glance.

They seem to be telling me, and I quote "The max memory configuration is dynamic. Doesn't need a restart."

Is this true? It doesn't make any sense that I don't see any number decrease...

Thanks, Pat
7 REPLIES
PatRoy
Regular Advisor

Re: Sybase 'max memory'

p.s.: I'm basing myself on the reserve line of swapinfo to find out how much swap was reserved (i.e. memory lock by sybase).
TTr
Honored Contributor

Re: Sybase 'max memory'

> "The max memory configuration is dynamic. Doesn't need a restart."

Are these the same DBAs whose sybase was using 100% of the CPUs in your other thread? Ask them to prove to you that sybase memory usage is reduced.

As far as I know the config file is read only when sybase starts up. See if you can verify it by checking the last access time of the file. If you have a server that the config file was not edited yet, check the last access time of the file "ll -u filename" and compare that to the start time of the ASE server.
PatRoy
Regular Advisor

Re: Sybase 'max memory'

I'm kinda screwed about the last access 'cause I had vi'd the file to double check the setting myself...

It totally makes sense to me that the config file is read only upon startup... I'll get them to confirm / prove to me.
TTr
Honored Contributor

Re: Sybase 'max memory'

I have an ASE12 server and I confirmed that the access time of the config file and the start time of the sybase server process are exactly the same and go back to 2008.
TTr
Honored Contributor

Re: Sybase 'max memory'

On the other hand, it may be possible to make changes to the sybase ASE kernel after it has started via sql commands. Those changes would only affect the running session and would not be permanet unless they cfg file was adjusted as well. So they may have the max memory by making an online change and NOT by modifying the config file.

But do ask them for a screen shot that shows the max memory setting of the running ASE server.
Bill Hassell
Honored Contributor

Re: Sybase 'max memory'

> We (sysadmins) feel our free memory is too short ...

Really? Is there a multi-gigabyte process waiting to run at month-end or is free memory fairly static around the clock?

When lots of local and shared memory is used (efficiently) by DBAs, that is the best performance feature you can provide. Reduce database RAM and Sybase will generally run slower (probably not what your customers want). The only time you need to concerned about free memory is when actual paging occurs, the "po" column in vmstat. If vmstat is a single digit number, no worries. If it is more than 100, then yes, reduce RAM usage.

Note that memory mapped files will do some page outs but this is normal and changing Sybase will not affect those pageouts.


Bill Hassell, sysadmin

Re: Sybase 'max memory'

We aren't running v15, but for 12.5:
A: max memory
â max memoryâ is a new dynamic configuration parameter. As you have seen in the earlier
sections, ASE 12.5 allocates shared memory during boot-time and may allocate more shared
memory during run-time. Unlike pre-12.5 ASE, the SA cannot specify the size of shared
memory to allocate during boot-time. ASE calculates shared memory size as a sum of all
memory requirements. System administrators, however, can use the parameter â max memoryâ
to control the maximum amount of shared memory ASE is allowed to allocate. This parameter
can be set to any value greater than the memory required for the current configuration.
For more information on setting this parameter, see the Configuration Guidelines section below.
In Figure 2, the â max memoryâ value is indicated by boundary A. Note that â max memoryâ
takes the ASE executable code size into account. This behavior is consistent with the way the
â total memoryâ parameter in pre-12.5 ASE takes executable size into account. Hence, the actual
shared memory allocated will be less than the value specified by the parameter. For example,
if â max memoryâ is set to 200MB and if the code size is 10MB, then the maximum shared
memory allocated will be 190 MB (200 minus 10).

http://www.sybase.com/content/1013474/dynamic_reconfig_wp.pdf