RE: High CPU utilization

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <gogala.mladen@xxxxxxxxx>, "'Krishnaprasad Yadav'" <chrishna0007@xxxxxxxxx>
  • Date: Sun, 17 Mar 2024 12:17:06 -0400

AND, not but

 

There are name tags on the process identifiers that tell you which database the 
database running processes are related to. OFTEN, just summing up the resource 
consumption columns from ps grouped by those values can quickly identify spikes.

 

AND, subtracting the sum of those totals from the totals for all processes will 
tell you if it even is one or more of the databases as opposed to other system 
activity.

 

Quite often (and one of the many reasons Oracle moved to a container to fan in 
support of multiple database from a single set of background services), the 
sheer number of processes created by having many independent database on a 
single server makes the overall server SLUGGISH compared to its apparent 
capacity without additional actual useful user work being done.

 

Even something simple such as serving  new logins as time zones roll around to 
local office start times can force the system into wasteful process paging and 
allocation if you have too many processes.

 

Oracle Real World had a brilliant set of videos about this (regardless of the 
container issue). Simply limiting the overall total to something reasonable CAN 
make the completion time of something that has to wait to start sooner, because 
most things can then each run in a lot less elapsed time.

 

Determining whether you have too many concurrent processes running in aggregate 
on the box is probably job one.

 

Oracle has had instance/database name tags on its processes since at least V6, 
November 1988, and there is some utility on every OS I can think of that can be 
used to feed something to do the first order math on this for you. Probably you 
can find something free that’s good enough to answer the “which database(s) are 
currently heavy contributors to resource consumption.”

 

Good luck.

 

PS: Thanks Mladen for updating my antique V$ reference to something more 
recent. As with all V$ references, reviewing them for the actual current 
release being used is clearly required.

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Mladen Gogala
Sent: Sunday, March 17, 2024 10:35 AM
To: Krishnaprasad Yadav
Cc: mwf@xxxxxxxx; Oracle L
Subject: Re: High CPU utilization

 

On Sun, 2024-03-17 at 14:55 +0530, Krishnaprasad Yadav wrote:

Dear All ,

 

Thanks for your response , 

Currently  we have non-cdb architecture and there are independent DB instances 
running on a single server , hence it becomes difficult to identify which one 
is  causing the high CPU Usage . 

 

Please suggest the same .

 

Regards,

Krishna

 

 

Krishna, this is an OS problem, not an Oracle one. You have several groups of 
processes/threads (depending on the OS) and you need to compare them with 
respect to resource usage. Generally speaking, that is done through OS 
auditing. Depending on your OS, you may need to use either open source auditing 
package or a commercial one. You may wait for Oracle 27c, which will 
incorporate artificial intelligence and the mind reading abilities, and be able 
to write your queries for you. Oracle is developing a version for HAL 9000.

 

https://www.youtube.com/watch?v=UwCFY6pmaYY

 

That was an example of ORA-600.

 

-- 

Mladen Gogala

Database SME

https://dbwhisperer.wordpress.com

 

Other related posts: