on 09-18-2014 6:19 PM
Hi All,
What is the best approach to collect CPU utilization
from ASE instance. ?
My main goal is to get a picture of CPU counters each minute
but be the last intrusive as possible.
i am using sysmon each minute then grab the value and save
into a table , but i believe this is not a good pratice.
another solution is to use a dbcc monitor command to start the counter
wait one minute , read it from master.sysmonitors and close the counter with another dbcc
command.
Also, there is a third option using monEngine, but as this table increment the counter
the result is not very accurate, at lest i am not getting the right result
Does anyone have another suggestion , or a better technique that can grab the value
correctly and not been intrusive as the sysmon ?
Hi
I think quite good option to monitor CPU is monsysload.
This is very usefull mda table when you want quickly check CPU utilization without counting delta.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This should be collected from monEngine and delta'd and put into SAPTOOLS database for you. If you use DBACockpit, it will display the data. If not, you may have to look at extracting/plotting the data out of SAPTOOLS. I would suggest looking at both monEngine and monThread.
For monEngine/monThread and most MDA tables, all you need to do is subtract sample #1 from sample #2....so just do the delta. Result should be extremely accurate as I do this all the time without issue.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you Jeff, for the quick reply.
Unfortunately SAPTools or DBACockpit is not in use here.
Not sure how monThread can be helpful to get cpu % usage.
I am still looking for monEngine as possible candidate, but i notice the counters reset after
~60 seconds.
What about the counters from global variables , like @@cpu_busy, @@io_busy and @@idle
can them be used with the same approach with delta values ?
thanks
Are you running sp_sysmon every minute??? If so - STOP!!!. sp_sysmon shares some of the same counters with MDA and clears them (actually it shouldn't by default - but if you are running with clear option, it will) - which impacts MDA data such as monEngine.
Global variables are per connection - not really usable for this. You really want to use monEngine and/or monThread. monThread is the basis for monEngine and tracks CPU usage in ticks - which can be divided from totals to get CPU %.
SAPTOOLS data collection is set up by ATM - no need for DBACockpit for it - HOWEVER, DBACockpit is the *best* place to start for SAP on ASE. It reports a lot of the MDA data in a context that is best for SAP applications - especially for statement cache and query performance stuff. Not sure why you are not using it and then struggling with sp_sysmon.....it is kinda like ignoring an airplane and trying to fly by flapping two big cardboard wings.
lol.
No, we don't have sysmon running every minute. Otherwise i would have already been shot by the duck hunters. lol.
Our ASEs are for general applications , not for SAP yet.
I will try the monTables.
Do you have any code suggestion that results into a precise CPU utilization ?
Regards
Helio
User | Count |
---|---|
94 | |
11 | |
11 | |
10 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.