Dtrace Oracle mostra alto fsflush em solaris 10

2

Solaris 10 - Oracle 11G em uma zona

Rodando o mpstat, eu notei que um CPU estava a 100% usado a cada 5 segundos por 5 segundos enquanto todos os outros processadores estavam bem, usados, mas bem distribuídos.

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

Usando o dtrace e procurando apenas uma chamada sys

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

Este servidor tem muitos mem (256G) e acredito que a razão pela qual eu vejo esse comportamento com o mpstat é por causa do fsflush, depois de algumas leituras ( link ) parece que eu deveria ser capaz de ajustar: autoup & tune_t_fsflushr mas nunca fiz isso antes e quero ter certeza de que isso não terá nenhum impacto ruim.

Também não tenho certeza sobre qual valor deve ser definido (de acordo com esta antiga publicação link ) pode ser definido muito alto.

Para finalizar, enquanto lemos o livro Brendon Gregg / Jim Mauro Dtrace, parece normal que o sched fosse tão alto, estamos usando cpu-share na zona para dedicar cpu para a zona, seria um diferença para usar dedicado? Eu sou apenas surpresa ao ver que o sched é tão alto.

Por favor, deixe-me saber o seu e também se eu entendi direito?

Thx pela sua ajuda.

    
por Arnaud 05.06.2013 / 17:35

0 respostas