Solaris 10 - Oracle 11G в зоне
Запустив mpstat, я заметил, что один ЦП использовался на 100% каждые 5 секунд в течение 5 секунд, в то время как все остальные ЦП были в порядке, использовались, но хорошо распределены.
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
Использование dtrace и поиск только системного вызова
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
На этом сервере много памяти (256 ГБ), и я считаю, что причина, по которой я вижу такое поведение с mpstat, связана с fsflush после некоторого чтения (http://docs.oracle.com/cd/E19455-01/816-0607/816-0607.pdf) похоже, что я смогу настроить: autoup & tune_t_fsflushr, но я никогда не делал этого раньше и хочу убедиться, что это не окажет негативного воздействия.
Также я не слишком уверен, какое значение следует установить (согласно этой старой публикации http://oreilly.com/catalog/spt2/chapter/ch04.html) он может быть установлен очень высоко.
В заключение, при чтении книги Брендона Грегга / Джима Мауро Dtrace кажется нормальным, что расписание было настолько высоким, что мы используем долю процессора в зоне вместо того, чтобы выделить процессор для зоны, будет ли разница в использовании преданный? Я просто удивлен, увидев, что график такой высокий.
Пожалуйста, дайте мне знать, что вы думаете, а также, правильно ли я понял?
Спасибо за вашу помощь.