How to reduce CPU Utilization [message #429139] |
Mon, 02 November 2009 05:27 |
Hitman11
Messages: 94 Registered: October 2009 Location: norway
|
Member |
|
|
Hi all,
How to reduce the CPU utilization of a server when it exceeds its maximum limit?
I see , out of 300 processes , 297 sleeping and rest 3 CPU's were active.
In this case how to reduce the CPU utilization?
Regards,
|
|
|
|
Re: How to reduce CPU Utilization [message #429145 is a reply to message #429142] |
Mon, 02 November 2009 05:47 |
Hitman11
Messages: 94 Registered: October 2009 Location: norway
|
Member |
|
|
"A server never exceeds its limit of 100% CPU utilization"
Exceeds its limit means say 80% is the threshold it should alert saying database
has crossed 80% of its limit.I meant this.
Regards,
|
|
|
|
Re: How to reduce CPU Utilization [message #429160 is a reply to message #429157] |
Mon, 02 November 2009 06:18 |
Hitman11
Messages: 94 Registered: October 2009 Location: norway
|
Member |
|
|
i am not limiting it to 80%.I set it to 80% for an alert so that we can resolve the issue
by the time it reaches 80% of its CPU usage.
"A CPU is made to run at 100%"
When a CPU is made to run at 100% , i suspect the database will be hanged.
Regards,
|
|
|
|
|
|
|
|
|
Re: How to reduce CPU Utilization [message #429796 is a reply to message #429139] |
Thu, 05 November 2009 17:18 |
|
Kevin Meade
Messages: 2103 Registered: December 1999 Location: Connecticut USA
|
Senior Member |
|
|
Another thought on the general topic:
CPU as related to Oracle is almost always highly correlated to buffer gets. Buffer gets are in turn almost always correlated to index usage and joins. If your goal overall is to reduce CPU consumed by oracle sql execution, then tune your sql to reduce buffer gets. The two most common things this means are:
1) look for sql that has high buffer gets, then create indexes to support joins and thus change the query plan to a more efficient plan.
2) make sure your statistics are up-to-date, including index stats so oracle can also do the opposite of #1, which is to say, so it can decide when not to use indexes to support joins but instead go with FTS and Hash Join when appropriate. This too will result in a more efficient plan and thus reduced buffer gets and thus reduced CPU. You will need the necessary hash settings to enable hashing (I do not recall at the moment what these are but you can google or read the docs).
In the end, to reduce CPU resulting from Oracle SQL execution means to do basic tuning with an emphasis on reduction of buffer gets.
Good luck, Kevin
[Updated on: Thu, 05 November 2009 17:19] Report message to a moderator
|
|
|