[Orca-users] Interpreting kernel contention results
Sean O'Neill
sean at seanoneill.info
Fri Mar 12 20:43:08 PST 2004
Lester, Mike wrote:
> I am trying to drill down into what kernel contention is and how I
> improve the situation. Orca is monitoring an Oracle database server
> running Solaris 9 with over 50 databases on it and I consistently see
> Kernel contention on the System Overview Chart above 1. The databases
> are in a development environment and the vast majority are idle. They
> are accessed on an ad-hoc basis and are not all in use at one time.
>
> First of all, is this a problem or just the way a database server
> looks? If I understand the description of kernel contention, this graph
> indicates multiple processors are trying to access the same data. More
> processors would seem to make the problem worse. Does anyone have any
> words of wisdom for this behavior?
>
From http://www.sun.com/950901/columns/adrian/column1.html:
The Kernel Contention Rule
The kernel uses mutual exclusion locks to synchronize its operation and
keep multiple CPUs from concurrently accessing critical code and data
regions. Each time a CPU has to wait for a lock to become free it wastes
CPU power and this event is counted.
Table 8 Mutex Rule
CPU Rule Level Action
------------------------------------------------------
mpstat30.smtx < 200 Green No Problem
200 <= mpstat30.smtx < 400 Amber 1. Mutex Stall
400 <= mpstat30.smtx Red 1. Mutex Stall
------------------------------------------------------
1. Mutex Stall
If the number of stalls per CPU per second exceeds the limit,
mutex contention is happening in the kernel, which wastes CPU time and
degrades multiprocessor scaling.
Asking a question like this usually doesn't get much of a response
without more information.
What is your CPU doing ?
Memory Problem ?
What type of server ?
How many CPUs ?
How much memory ?
I/O Configuration ?
- JBOD ?
- SAN ?
- NAS / DAS ?
- # of controllers and type (type of SCSI or type of SAN [1Gb / 2Gb])
- Is backend storage intelligent e.g. Hitachi, IBM Shark, etc ?
Storage Configuration ?
- VxVM / SVM (using Soft partitions in SVM ??) ?
- Raw or Cooked FSs ?
- Is your volume strip consistent with your backend storage ? (If
appropriate that is)
- If cooked, is your file system maxcontig tuned to be consistent
with your volume/backend strip config ?
Oracle Configuration ?
- How big is SGA ?
More information about the Orca-users
mailing list