点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
使用sp_sysmon,我可以看到有关引擎正在执行或正在等待的各种操作(尽管在默认线程模式下,如果至少有一个I/O待处理,则所有空闲引擎都将显示为I/O忙。/O忙碌着望向高位(KBA 1863319)。
我还可以看到等待引擎的"可运行任务"的数量。 我认为,这不包括等待I/O的任务。 即,我对" Runnable"的理解是指线程在队列中等待CPU(er,Core)变得可以运行该线程。
但是我看不到有什么方法可以查看哪些用户线程正在等待磁盘I/O。 我想同样的问题也适用于等待网络I/O。
与"平均可运行任务"表示"等待CPU的平均线程数"相同,应该有"等待磁盘I/O的平均线程数"和"等待网络I的平均线程数"/O"?
这是此信息的详细即时快照,但与运行总计不同:
选择描述=子字符串(b.Description,1,60),proc_count =计数(*) 来自monProcess a,monWaitEventInfo b 其中a.WaitEventID = b.WaitEventID 按子字符串分组(b.Description,1,60)按count(*)desc排序 说明proc_count -------------------------------------------------- ---------- ----------- 等待传入的网络数据88 xact coord:在空闲循环4中暂停 等待消息3 hk:暂停一段时间3 等待常规缓冲区读取完成3 进程正在运行2 检查点进程空闲循环1 睡眠后在运行队列中等待1 等待客户端连接请求1 等待下一个端口管理器请求1 桶池管理器合并器睡眠1 等到心跳或检查间隔到期1 等待死锁检查配置更改1
我认为"等待传入的网络数据"实际上是一种空闲形式,而"等待常规缓冲区读取完成"则是在等待磁盘I/O。
我检查了monWaitClassinfo,发现以下与磁盘(读写)和网络(接收和发送)有关的类:
DISK
2等待磁盘读取完成
3等待磁盘写入完成
NETWORK
7等待来自网络的输入
8等待输出 连接到网络
因此,如果您等待带有WaitClassID 2和3的事件,则应该为您提供磁盘相关的统计信息
,并且类似地获取网络统计信息。 对于网络,我不会计算WaitEventID 250的统计信息。
HTH
Avinash
请注意,在磁盘I/O上方的sp_sysmon输出中,完成并 网络已完成的I/O不会总计为已完成的总I/O。 我不确定哪个是错误的。
好吧,我想我找到了"如何衡量ASE中等待的用户进程?"的答案。 问题。
您可以使用以下命令:
Re:I/O 繁忙:是所有I/O(磁盘+网络)的CPU使用率
您对此有任何参考吗? 当前,在至少一个I/O等待完成的同时,新内核线程环境中的@@ io_busy对任何空闲CPU都有一个怪异的定义。 因此,如果您有8个内核处于空闲状态,并且有1个I/O待处理,则它将所有8个内核都计为io_busy。
Re:磁盘I/O和网络I/O不会总计到总I/O
我实际上与SAP发生了一起事件。 "总I/O"数不正确。 有一天要修复。 CR 818885
您的初始问题与"等待"相关。
这一次,从MDA表提取的增量值最合适。
AFAIU: sysmon显示的是实际的"使用情况",而不是"等待"。
I/O忙:所有I/O(磁盘+网络)的CPU使用率是
您对磁盘的观察 I/O和网络I/O不会合计为总I/O是正确的。
SAP的某些人应该对此加以说明。
HTH
Avinash
我的评论/答案更多来自进程内核模式!
因此,线程内核模式下I/O(磁盘+网络)的CPU使用率是一个未知领域 到目前为止,还是我。
感谢您共享CR#,希望它可以同时解决这两种内核模式。
Avinash
一周热门 更多>