Назад | Перейти на главную страницу

Dtrace Oracle показывает высокий fsflush на solaris 10

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 кажется нормальным, что расписание было настолько высоким, что мы используем долю процессора в зоне вместо того, чтобы выделить процессор для зоны, будет ли разница в использовании преданный? Я просто удивлен, увидев, что график такой высокий.

Пожалуйста, дайте мне знать, что вы думаете, а также, правильно ли я понял?

Спасибо за вашу помощь.