Dtrace Oracle在solaris 10上展示了很高的性价比

Solaris 10 – 区域中的Oracle 11G

运行mpstat,我注意到一个CPU在5秒内每5秒钟100%使用,而所有其他的CPU都很好,在使用,但很好地传播。

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并仅查找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 

这个服务器有很多内存(256G),我相信我之所以看到这种行为与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 ),它可以设置得非常高。

在阅读Brendon Gregg / Jim Mauro Dtrace书的时候,看起来正常的是,这个调度是如此之高,我们正在使用cpu-share来代替该区域的cpu,是否会有所作为专用? 我只是惊讶地看到,这个数字是如此之高。

请让我知道你的,如果我知道了吗?

Thx为您提供帮助。