Solaris 10 - Oracle 11G in a zone
Running mpstat , i've noticed that one CPU was at 100% used every 5 seconds for 5 seconds while all other CPU were fine, in used but nicely spread.
1 0 0 0 1154 1 1599 20 105 34 0 7416 9 15 0 76
2 95 0 120 1590 483 1727 33 124 27 0 8069 16 6 0 78
3 128 0 0 861 9 1333 18 96 34 0 6344 9 3 0 88
4 0 0 0 115 0 0 0 0 5 0 0 0 100 0 0
...
31 32 0 0 998 14 1797 15 81 74 0 6426 7 4 0 89
Using dtrace and looking for sys call only
dtrace -n 'profile-997hz /arg0/ { @a[pid,execname,zonename] = count(); } tick-1s { printa(@a) ; clear(@a) } '
21603 sqlplus zone-oracle 59
21669 oracle zone-oracle 69
21737 oracle zone-oracle 111
21613 oracle zone-oracle 180
3 fsflush global 644
0 sched global 17913
This server has lots of mem (256G) and I believe the reason why I see this behavior with mpstat is because of fsflush, after some reading (http://docs.oracle.com/cd/E19455-01/816-0607/816-0607.pdf) it looks like that I should be able to tune: autoup & tune_t_fsflushr but i never done this before and want to make sure that this will not have any bad impact.
Also i'm not too sure about what value should be set (according to this old publication http://oreilly.com/catalog/spt2/chapter/ch04.html) it could be set very high.
To finish, while reading the Brendon Gregg / Jim Mauro Dtrace book, it seems to be normal that the sched was so high, we are using cpu-share in the zone instead to dedicate cpu for the zone, would it make a difference to use dedicated? i'm just surprise to see that the sched is so high.
Please let me know your though and also if I got it right ?
Thx for your help.