第五十八章 使用 ^BLKCOL 监视块冲突

简介: 第五十八章 使用 ^BLKCOL 监视块冲突

第五十八章 使用 ^BLKCOL 监视块冲突

当一个进程被迫等待访问一个块时,就会发生块冲突。过多的块冲突会降低应用程序性能。

Using ^BLKCOL

IRIS® 数据平台中,^BLKCOL 实用程序对指定时间段(默认为 10 秒)内的块碰撞进行采样,记录这段时间内指定时间间隔(默认为 10 毫秒)内的最新块碰撞。对于每个记录的冲突,^BLKCOL 不仅标识块,还标识涉及的全局及其在块中的第一个和最后一个引用,以及创建试图访问块的进程的例程和行。

注意:irisstat -D 选项,如本指南附录“使用 irisstat 实用程序监视 IRIS”中的使用选项运行 irisstat 中所述,也对块冲突进行采样,但仅识别涉及的块。

irisstat -D 的输出包含在 ^SystemPerformance 实用程序生成的报告中,如本指南的使用 ^SystemPerformance 监控性能一章所述。

运行 ^BLKCOL 时,可以指定以下内容:

  • 采样周期的长度(以秒为单位)
  • 采样之间的间隔(以毫秒为单位)
  • 是否收集例程详细信息(默认为是)

是否将输出格式化为:

  • 具有最高冲突计数的块列表(默认)
  • 涉及的所有块的列表in collisions
  • 来自检测到的所有块碰撞的逗号分隔值,按块编号和例程排序和计数
  • 来自所有检测到的块碰撞的逗号分隔值,未排序(RAW
  • 例程中的碰撞热点列表
  • 要显示的块数(如果适用)
  • 是否将输出发送到文件

^BLKCOL Ouputend 输出到文件

^BLKCOL 实用程序的使用显示在以下示例终端会话中:

%SYS>do ^BLKCOL

Block Collision Analysis

How many seconds should we sample: <10>
How long to wait (ms) between each sample: <10>
Collect routine details? <Y>
Format for 'T'op counts, 'D'isplay all, 'S'orted CSV, 'H'ot spot, or 'R'aw CSV: <T>
Number of blocks to display: <10>
Output to file: <0>

Sampling ... (any key to interrupt)


625 block collisions in 735 samples.

Block # (count) - Global refs (first - last in block) - Routine refs (SFN)

767       (395) in c:\InterSystems\iris\mgr\user\
  ^acctest - ^acctest(10220," 167") (T/BPtr)
    325 at ^AccessTest+156(4)
    25 at ^AccessTest+121(4)
    24 at ^AccessTest+92(4)
    8 at ^AccessTest+109(4)
    8 at ^AccessTest+127(4)
    4 at ^AccessTest+170(4)
    1 at ^AccessTest+163(4)

3890      (11)  in c:\InterSystems\iris\mgr\user\
  ^acctest(2552,"  371") - ^acctest(2552,"  38") (Data)
    6 at ^AccessTest+164(4)
    3 at ^AccessTest+163(4)
    1 at ^AccessTest+134(4)
    1 at ^AccessTest+156(4)

15572     (9)   in c:\InterSystems\iris\mgr\user\
  ^acctest(6980," 4795") - ^acctest(6988," 3259") (Data)
    7 at ^AccessTest+134(4)
    1 at ^AccessTest+164(4)
    1 at ^AccessTest+170(4)

15818     (8)   in c:\InterSystems\iris\mgr\user\
  ^acctest(9124," 173") - ^acctest(9124," 1743") (Data)
    5 at ^AccessTest+164(4)
    3 at ^AccessTest+170(4)

971       (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(484," 3927") - ^acctest(484," 3938") (Data)
    5 at ^AccessTest+170(4)
    2 at ^AccessTest+164(4)

1137      (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(756," 4063") - ^acctest(756," 4073") (Data)
    3 at ^AccessTest+109(4)
    2 at ^AccessTest+134(4)
    1 at ^AccessTest+156(4)
    1 at ^AccessTest+163(4)

2999      (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(2092,"  666") - ^acctest(2092,"  674") (Data)
    3 at ^AccessTest+170(4)
    1 at ^AccessTest+109(4)
    1 at ^AccessTest+121(4)
    1 at ^AccessTest+134(4)
    1 at ^AccessTest+164(4)

6173      (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(3684,"  528") - ^acctest(3684,"  536") (Data)
    3 at ^AccessTest+163(4)
    1 at ^AccessTest+109(4)
    1 at ^AccessTest+156(4)
    1 at ^AccessTest+164(4)
    1 at ^AccessTest+170(4)

14617     (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(9688,"   18") - ^acctest(9688,"   26") (Data)
    4 at ^AccessTest+170(4)
    2 at ^AccessTest+164(4)
    1 at ^AccessTest+134(4)

15282     (7)   in c:\InterSystems\iris\mgr\user\
  ^acctest(8700," 4889") - ^acctest(8760," 1402") (Data)
    4 at ^AccessTest+170(4)
    3 at ^AccessTest+164(4)
%SYS>d ^BLKCOL

Block Collision Analysis

How many seconds should we sample: <10>
How long to wait (ms) between each sample: <10>
Collect routine details? <Y>
Format for 'T'op counts, 'D'isplay all, 'S'orted CSV, 'H'ot spot, or 'R'aw CSV: <T> H
Number of blocks to display: <10>
Output to file: <0>

Sampling ... (any key to interrupt)


571 block collisions in 768 samples.

 
Sorted by routine/line that waits for block ownership
_____________________________________________________

(571) AccessTest
    (324) +156^AccessTest :  s @G@($J,node)=$$getdata($E(Str,1,$r(1000)))  ;SMLXXX+, AFH
    (54) +164^AccessTest :  k @G@($J,node)
    (43) +134^AccessTest :  .  k @G@($J,node)
    (31) +92^AccessTest :  .  .  k @G@($j)
    (28) +109^AccessTest :  .  s x=$O(@G@($J,x))

Sorted by routine that owns the block
_____________________________________

(472) AccessTest
    (472) +AccessTest

相关文章
|
6月前
|
缓存 监控
第四十三章 使用^TRACE跟踪进程性能
第四十三章 使用^TRACE跟踪进程性能
44 0
|
3月前
这几个IP地址块聚合后,可用地址数是多少?你造吗?
这几个IP地址块聚合后,可用地址数是多少?你造吗?
|
4月前
|
应用服务中间件 开发工具 nginx
Ngnix全局块的工作进程的两个指令
Ngnix全局块的工作进程的两个指令
|
4月前
|
存储 监控 安全
JVM内存问题之如何比较不同时间点的pmap输出以检查新增或变大的内存段
JVM内存问题之如何比较不同时间点的pmap输出以检查新增或变大的内存段
|
5月前
|
机器学习/深度学习
3 个进程 P1、P2、P3 互斥地使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数,并用 put() 将其送入缓冲区的某一空单元中 ;P2每次用 get
3 个进程 P1、P2、P3 互斥地使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数,并用 put() 将其送入缓冲区的某一空单元中 ;P2每次用 get
|
6月前
|
API
第四十九章 使用 ^SystemPerformance 监视性能 - 复制配置文件
第四十九章 使用 ^SystemPerformance 监视性能 - 复制配置文件
39 0
|
6月前
|
Perl
awk复杂用法多模式和多动作块
awk复杂用法多模式和多动作块
62 2
|
C语言
文件的结束判定
文件的结束判定
97 0
文件的结束判定
|
存储 小程序 C语言
条件分支和循环机制、标志寄存器及函数调用机制
条件分支和循环机制、标志寄存器及函数调用机制
96 0
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
今天我们来介绍西门子S7-1200的运动控制功能。西门子S7-1200的运动控制指令是通过使用相关工艺数据块和CPU的专用脉冲串输出来控制轴的运动。
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义