Showing results for 
Search instead for 
Did you mean: 

How to Retrieve Key Performance Metrics from SAP ASE / Sybase Instances?

0 Kudos

I want to fetch important performance metrics from SAP ASE/Sybase databases. These include:

  1. Percent of lock used
  2. Percent of active connections
  3. Heap Memory Utilization %
  4. Memory Utilization %
  5. Disk Utilization % by Logical Disk

I've looked into Sybase's built-in monitoring tables, but couldn't find these specific metrics there.

Can anyone suggest a way to help me gather this information from multiple Sybase databases? I've searched around but haven't found a clear solution yet.

Any tips or advice would be greatly appreciated! Thanks!

View Entire Topic

Referring to the latest set of questions:

1. If by instance id you're referring to the separate nodes (aka instances) within a cluster setup then you'll want to look at running sp_monitorconfig against each node (instance) of the cluster.

The word 'instance' is synonymous with 'dataserver' and typically refers to unique, separate invocations of the dataserver software.  If you have separate dataservers HR_dev, HR_test, HR_prod, Finance_prod then these would be referred to as four dataservers or instances.

In a cluster setup 'instance' still refers to separate 'dataservers' but they are configured to work as a single unit; in this case InstanceID (common column in MDA tables that capture cluster metrics) in an internal id used by the cluster software to reference the individual dataservers that make up the cluster.

2. If you were to run sp_configure memory you should see the following at the end of the output:

An additional 32130 K bytes of memory is available for reconfiguration. This is the difference between 'max memory' and 'total logical memory'.

This tells us this ASE instance (aka dataserver) has 32,130 KB of memory that has been allocated at the OS level but has not yet been allocated for a specific use within the dataserver.

The key item of interest is the 2nd sentence which tells us where this number comes from: 'max memory' - 'total logical memory'.  These two values can be obtained from running sp_configure or sp_monitorconfig. [NOTE: Keep in mind these two values have a unit of measurement of 2K.]

3. For a breakdown of heap memory usage by connection you may find what you want in monProcessActivity (search for column names that include the string 'heap').  You could compare the sum() of these records with the heap memory related entries in monMemoryUsage (eg, MemoryPoolName = 'Pss Heap Memory' + the appropriate counters/columns).


Generally speaking re: querying the MDA tables for specific sets of data ...

Consider downloading the Reference Manual: Tables (PDF) then use your favorite PDF reader to run searches on strings of interest (eg, 'heap').

If/When in doubt about some of your MDA table queries ... consider cross referencing said query results with the config values reported by sp_configure and/or sp_monitorconfig.


0 Kudos

Hey, @Mark_A_Parsons, again thanks for your response, we are able to fetch the data related to lock, connection and memory, but in the case of heap meamory we need the heap memory utilization of the Sybase JVM. Is the heap memory shown by the sp_monitorconfig shows the heap memory of JVM or of sybase. In sybase document I did not get the any info related to heap memory of sybase JVM.

0 Kudos

Did you try searching on 'java' or 'jvm'? monPCIBridge has a couple memory counters that might be of interest?

I don't spend a lot of time on java so other than that I'd have to spend some time perusing the Java in ASE manual to see if there are any queues about if/how ASE captures java/jvm memory usage stats.

One other option would be to open a case with tech support to see if they have any suggestions.