Hello,
We have a new T2000 server with one CPU (32 logicals CPU).
We control these CPUs with mpstat and sometimes we have a thread with idle=0.
How to know which process or LWP runs on this thread please ?
Thank you in advance, for your reply.
Regards,
Matt
This message posted from opensola
Hi,
On a Solaris 10 server, with 'top' command, we have:
CPU states: 28.9% idle, 14.2% user, 56.9% kernel, 0.0% iowait, 0.0% swap
How to know where is spent kernel usage please ?
Thank you in advance.
Matt
--
This message posted from opensolaris.org
___
OK, I tried the DTrace script "hotkernel" et the result is:
[...]
ce`ce_intr 1245 0.4%
unix`page_lookup_nowait 1330 0.5%
genunix`rm_assize1448 0.5%
genunix`segmap_getmapflt
OK, I've tried lockstat; here, the lockstat.out
Adaptive mutex spin: 75935 events in 10.334 seconds (7348 events/sec)
Count indv cuml rcnt nsec Lock Caller
---
2338 3% 3% 0.0016898 0x1999a78
> Any chance this machine is running many instances of Oracle? I've seen
> very high kstat usage in that scenario.
Yes: ~75 instances in 6 zones).
> Next step would be to add a '-s 20' to the lockstat to get a kernel
> stack for this lock.
The output:
Adaptive mutex spin: 113576 events in 11.110
I've tried your script lockutil and now the output:
lockutil -n 44 lockstat_kWP.out
CPU-util Lock Caller
0.191 kstat_chain_lock kstat_hold
0.036 kstat_chain_lock kstat_rele
0.014 mod_lock mod_hold_stub
0.006 kpr_mutexhat_page_rel
Thanks for your response.
For moment, we can't patch Oracle version (production environment).
But on another server (which contains containers too), we have the same problem:
> sar 1 100
SunOS 5.10 Generic_137137-09 sun4u10/23/2009
09:00:17%usr%sys%wio %idle
09:00:18 12
/root > dtrace -n 'syscall:::entry { @[execname,probefunc] = count() }'
Password:
dtrace: description 'syscall:::entry ' matched 237 probes
[...]
powermt stat1029
sas.e9bc09 read1310
mstragent waitsys 1343
bgscollect