Home » Infrastructure » Other Operating Systems » Who's using the CPU then ?
Who's using the CPU then ? [message #113860] Mon, 02 September 2002 01:12 Go to next message
Robin Upcott
Messages: 10
Registered: July 2000
Junior Member
We have Oracle 8173 (and 9.2 in testing) running on MVS
(OS/390 2.10). We use AM for CICS (CICS 5.3).
When we are running a transaction from CICS (heavy job loading data) I can see in SDSF cpu usage of 100%. Over in my monitor (Omegamon) I also see 100%
BUT if I add up the totals of all the CPU users I get something like 6%! (thats 94% not being assigned to any address space).
Does anyone have a suggestion to help us prove that Oracle is using the CPU ? (Or the Oracle client - CICS in this example)?
In a busy MVS system with other important tasks load balancing would be much easier if we could accurately see who was doing the work.
Thanks Robin
Re: Who's using the CPU then ? [message #113861 is a reply to message #113860] Mon, 02 September 2002 03:55 Go to previous messageGo to next message
paul mansfield
Messages: 35
Registered: January 2001
Member
: We have Oracle 8173 (and 9.2 in testing) running on MVS
: (OS/390 2.10). We use AM for CICS (CICS 5.3).
: When we are running a transaction from CICS (heavy job loading data) I can see in SDSF cpu usage of 100%. Over in my monitor (Omegamon) I also see 100%
: BUT if I add up the totals of all the CPU users I get something like 6%! (thats 94% not being assigned to any address space).
: Does anyone have a suggestion to help us prove that Oracle is using the CPU ? (Or the Oracle client - CICS in this example)?
: In a busy MVS system with other important tasks load balancing would be much easier if we could accurately see who was doing the work.
: Thanks Robin
Robin,
are you using OSDI (presumably yes by the releases).
Firstly, Oracle sometimes doesn't show the updated CPU figure for a particular session until the heavy query has finished (you may wish to look at CPU in V£SYSSTAT rather than V£SESSTAT and see if there is a jump when the session finishes). I'm told that if you turn on resource thresholds e.g allow the session a massive threshold after which it is killed and then run your task it will update the CPU figure more regularly and give a better feel of what is happening.
You could also try looking at enclaves.
USE RMF i.e command RMFWDM.
choose option 1 OVERVIEW.
choose option 5 ENCLAVES.
point and shoot at the busy enclave.
If you now scroll down it will tell you the name of the userid.
The other option if still no success is that CPU usually equates to I/O - try
SELECT SQL_TEXT, BUFFER_GETS, EXECUTIONS, OPTIMIZER_MODE,
FIRST_LOAD_TIME, LOADS,
DISK_READS
FROM V£SQLAREA WHERE
BUFFER_GETS > 10000
ORDER BY BUFFER_GETS; and see who is bottom of the heap for buffer gets.
We use The Monitor which contains a figure under task wait time called wait oldw. It gives the number of calls to Oracle and the time its waited for Oracle. I think Omegamon isn't so good in this area but that you can still get these figures out.
Re: Who's using the CPU then ? [message #113866 is a reply to message #113861] Wed, 11 September 2002 04:20 Go to previous message
Robin Upcott
Messages: 10
Registered: July 2000
Junior Member
: : We have Oracle 8173 (and 9.2 in testing) running on MVS
: : (OS/390 2.10). We use AM for CICS (CICS 5.3).
: : When we are running a transaction from CICS (heavy job loading data) I can see in SDSF cpu usage of 100%. Over in my monitor (Omegamon) I also see 100%
: : BUT if I add up the totals of all the CPU users I get something like 6%! (thats 94% not being assigned to any address space).
: : Does anyone have a suggestion to help us prove that Oracle is using the CPU ? (Or the Oracle client - CICS in this example)?
: : In a busy MVS system with other important tasks load balancing would be much easier if we could accurately see who was doing the work.
: : Thanks Robin
: Robin,
: are you using OSDI (presumably yes by the releases).
: Firstly, Oracle sometimes doesn't show the updated CPU figure for a particular session until the heavy query has finished (you may wish to look at CPU in V£SYSSTAT rather than V£SESSTAT and see if there is a jump when the session finishes). I'm told that if you turn on resource thresholds e.g allow the session a massive threshold after which it is killed and then run your task it will update the CPU figure more regularly and give a better feel of what is happening.
: You could also try looking at enclaves.
: USE RMF i.e command RMFWDM.
: choose option 1 OVERVIEW.
: choose option 5 ENCLAVES.
: point and shoot at the busy enclave.
: If you now scroll down it will tell you the name of the userid.
: The other option if still no success is that CPU usually equates to I/O - try
: SELECT SQL_TEXT, BUFFER_GETS, EXECUTIONS, OPTIMIZER_MODE,
: FIRST_LOAD_TIME, LOADS,
: DISK_READS
: FROM V£SQLAREA WHERE
: BUFFER_GETS > 10000
: ORDER BY BUFFER_GETS; and see who is bottom of the heap for buffer gets.
: We use The Monitor which contains a figure under task wait time called wait oldw. It gives the number of calls to Oracle and the time its waited for Oracle. I think Omegamon isn't so good in this area but that you can still get these figures out.

Thanks Paul the RMF bit was helpful. I also took a look at SDSF's ECPU% - looks like this makes the CPU% add up to the total quoted at the top of the SDSF DA screen. Useful to put CPU% next to ECPU% - large differences for an address space show heavy enclave work ?
Previous Topic: How to separate attachment from the email
Next Topic: Re: Novell equivalent of NT Net Send command?
Goto Forum:
  


Current Time: Sat Jan 16 06:52:34 CST 2021