设为首页 加入收藏

TOP

[20190419]shared latch spin count.txt(十五)
2019-09-17 18:49:47 】 浏览:225
Tags:20190419 shared latch spin count.txt
;spin count loop: 1 a875be
skgpwwait -331400584, 202182304, 0, 70000
kslskgs 60009a18, 0, -331400368, -331399824
 spin count loop: 2000 a875be
 spin count loop: 1999 a875be
 spin count loop: 1998 a875be
...
 spin count loop: 1 a875be
skgpwwait -331400584, 202182304, 0, 50000
kslskgs 60009a18, 0, -331400368, -331399824
 spin count loop: 2000 a875be
 spin count loop: 1999 a875be
...
 spin count loop: 2 a875be
 spin count loop: 1 a875be
skgpwwait -331400584, 202182304, 0, 50000
kslskgs 60009a18, 0, -331400368, -331399824
 spin count loop: 2000 a875be
 spin count loop: 1999 a875be
...
 spin count loop: 1963 a875be
 spin count loop: 1962 a875be
 spin count loop: 1961 a875be
---Type <return> to continue, or q <return> to quit---q
Quit
--//注意看skgpwwait最后参数,实际上就是sleep的时间,单位微秒.spin count不是10,而是2000.

(gdb) info br 10
Num     Type           Disp Enb Address            What
10      breakpoint     keep y   0x0000000000a875be <kslskgs+200>
        breakpoint already hit 18041 times
        silent
        printf " spin count loop: %d %x\n", $r13,$rip
        c

--//使用跟踪可以发现如下:
$ strace -fttT -p 31247
Process 31247 attached - interrupt to quit
11:06:41.497253 select(0, [], [], [], {0, 40191}) = 0 (Timeout) <0.040333>
11:06:41.537915 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050145>
11:06:41.588209 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050140>
11:06:41.638518 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050108>
11:06:41.688774 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050146>
11:06:41.739070 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050147>
11:06:41.789366 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050110>
11:06:41.839640 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050141>
11:06:41.889947 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050143>
11:06:41.940240 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050121>
11:06:41.990509 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050153>
11:06:42.040831 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050145>
11:06:42.091124 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050151>
11:06:42.141462 select(0, [], [], [], {0, 50000}) = 0 (Timeout) <0.050161>
...

总结:
1.不要在生产系统做这样测试.
2.shared latch 持有X 模式,申请 X 模式阻塞,spin_count=_spin_count.与exclusive latch不同.
3.对于修改latch类的参数仅仅sleepN参数有效.
4.其它模式比如SX,XS.另外写一篇blog测试.我看了连接,我还忘记考虑Blocking mode下的情况.
--//链接:http://andreynikolaev.wordpress.com/2011/01/14/spin-tales-part-2-shared-latches-in-oracle-9-2-11g/

                S mode get  X mode get
Held in S mode  Compatible  2*_spin_count
Held in X mode           0  2*_spin_count
Blocking mode            0  2*_spin_count

-
首页 上一页 12 13 14 15 下一页 尾页 15/15/15
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇说说MySQL索引 下一篇RAC配置笔记

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目