Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: High CPU usage by Oracle
Here's a Korn Shell script that I use to identify all of the top CPU hogs in Solaris. It is better than "top" because it gives you the actual command that is running:
#!/bin/ksh
# Show the PS version of the top 37 processes (by CPU usage)
print "UID\tPID\tPPID\tSTIME\t\tTIME\tCMD"
top -n 37 2>/dev/null| tail -38 | head -37 | awk '{print $1}' | while read
PID
do
PS=`ps -fp $PID 2>/dev/null| tail -1`
if [[ `echo $PS | grep -c "UID PID PPID C STIME TTY TIME CMD"` -ne 1 ]]
then
echo $PS | awk '{for (i = 8; i <= NF; i++) O = O " " $i; print $1 "\t"
$2 "\t" $3 "\t" $5 "\t" $7 "\t
" substr(O,2,59)}'
fi
done
--Michael
-----Original Message-----
Sent: Tuesday, January 22, 2002 1:26 PM
To: Multiple recipients of list ORACLE-L
This query will show current sessions CPU usage. It may indicate a particular session is hogging the CPU.
select
sess.username, stat.sid, name.name name,
stat.sid = sess.sid
and stat.statistic# = name.statistic#
and name.name like '%CPU%'
group by sess.username, stat.sid, name.name;
You should also use 'top' or some similar tool to identify the process.
At times a session may have a 'runaway' process that is hogging the CPU. If a single dedicated server process is using a very high percentage of the CPU, it's would probably be a good idea to kill it. Be sure to identify the user or batch program first to make sure it can be killed.
The output of 'ps -fuoracle' will show a dedicated session as similar to this:
oracleVDRPROD (DESCRIPTION=(LOCAL=no)(ADDRESS=(PROTOCOL=BEQ)))
The following query will match an
process to an Oracle session:
select
s.username, s.sid, s.serial#, p.pid ppid, s.status, s.osuser,
Jared
Uma Mohoni <umohoni_at_ikimbo.com>
Sent by: root_at_fatcity.com
01/22/02 07:20 AM
Please respond to ORACLE-L
To: Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com> cc: Subject: High CPU usage by Oracle
Hi,
I would like help with this problem I am grappling with since yesterday.
One
of the test boxes with Sun Solaris 2.7 OS and Oracle 8.1.7.2 on it has
started showing 97% and above CPU usage mostly by Oracle . It has slowed
down the application to a point where the testers can not test. Does any
one
have any idea why Oracle would suddenly hog CPU so much? The normal CPU
usage on these boxes is 2%-3%. All help is greatly appreciated. Thanks in
advance.
Thanks,
Uma Mohoni
Consultant, CDI Corporation
@ iKimbo Inc.
500-A Huntmar Park Drive
Herndon, VA 20170
(703) 904-4150 Ext:237
umohoni_at_ikimbo.com
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Uma Mohoni INET: umohoni_at_ikimbo.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: INET: Jared.Still_at_radisys.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Jenkins, Michael INET: Michael.Jenkins_at_Nextel.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Tue Jan 22 2002 - 13:28:40 CST