查看: 1892|回复: 10

EM 的性能页面显示的 CPU WAIT,是什么意思?

[复制链接]
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
发表于 2017-10-26 11:23 | 显示全部楼层 |阅读模式
ORACLE 11204

EM 里查看到的CPU WAIT,是指

1  等待CPU资源,还是CPU在等待其他资源;
2  若是前者,是否说明是 CPU 资源不足? 若是后者,如何知道它是在等待什么资源?

CPU_WAIT_20171026110452.jpg
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
发表于 2017-10-26 13:44 | 显示全部楼层
如果我没有记错的话 DB time = CPU time + Wait time

CPU time 就是 图中 CPU
Wait time 就是那些被归类的 wait evnet calss

但是这样的统计其实仅仅是站在DB的角度上看的。实际上还少了一部分,就是从操作系统方面来看,有些oracle进程需要cpu时间分片,但是得不到,从而这些进程(准确的说是线程)等待在cpu队列中。oracle进程在cpu队列里的等待时间,就是cpu wait

如果你用ash,更容易看到这项内容 cpu + wait for cpu,这个状态就是代表了这个session,正在等待cpu来执行或者正在使用cpu(不算任何一种oracle的wait event)

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
 楼主| 发表于 2017-10-26 22:00 | 显示全部楼层
zergduan 发表于 2017-10-26 13:44
如果我没有记错的话 DB time = CPU time + Wait time

CPU time 就是 图中 CPU

概况你的意思,CPU WAIT,是ORACLE进程,在等待CPU时间分片的时间? 也就是说它在等待CPU资源?

使用道具 举报

回复
认证徽章
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
发表于 2017-10-26 22:17 | 显示全部楼层
应该是等待CPU资源,因此,根据这个图片显示,相应服务器可能存在CPU资源不足的问题。

使用道具 举报

回复
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
发表于 2017-10-27 08:39 | 显示全部楼层
ZALBB 发表于 2017-10-26 22:00
概况你的意思,CPU WAIT,是ORACLE进程,在等待CPU时间分片的时间? 也就是说它在等待CPU资源?



来自苹果客户端来自客户端

使用道具 举报

回复
论坛徽章:
0
发表于 2017-11-5 22:36 | 显示全部楼层
zergduan 发表于 2017-10-26 13:44
如果我没有记错的话 DB time = CPU time + Wait time

CPU time 就是 图中 CPU

请问大神,我的理解是,这个数值经常超过核心数即表示cpu不够用,可以么?

使用道具 举报

回复
论坛徽章:
0
发表于 2018-1-25 00:07 来自手机 | 显示全部楼层
楼主弄清楚没,我也有这个疑问。然这个时候系统cpu 并不忙。不到30

使用道具 举报

回复
论坛徽章:
311
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
 楼主| 发表于 2018-1-26 09:34 | 显示全部楼层
windpray 发表于 2018-1-25 00:07
楼主弄清楚没,我也有这个疑问。然这个时候系统cpu 并不忙。不到30

目前最准确的,是2楼的说法,你不妨作个ADDM,看看它的改善建议,

使用道具 举报

回复
论坛徽章:
121
现任管理团队成员
日期:2011-05-07 01:45:08
发表于 2018-1-26 09:58 | 显示全部楼层
zhxice 发表于 2017-11-5 22:36
请问大神,我的理解是,这个数值经常超过核心数即表示cpu不够用,可以么?

CPU wait time这个数应该是时间单位应该是ms,你说的是队列长度~

所谓的某个数值草果cpu核心数目代表cpu不足,是指r队列长度,代表了在cpu时间分片等待队列(或者叫做运行队列)中进程(线程)的个数。

好多人都在说r(run)队列的长度不应该超过cpu core(thread)个数,其实这也是不对的。。。。

这是事儿要将出来,就太多了。。
我简单的说吧,所谓的“某个值超过了xxx就性能不足了”这种说法早就过时了。。。。

某个值达到阈值,仅仅代表负载压力,是否性能不足,不是通过某个阈值来判断的。ORACLE从9i就引入了OWI,不要在通过某些阈值来判断性能是否满足要求了,阈值只能代表负载压力。
或者我们更简单的说,如果非要用某个阈值来判断,也要用响应时间来判断~

回到原来的问题,CPU wait time是时间,代表所有r队列(可能还有d队列,这个我不确认,我忍为应该算上d队列)中的进程(线程)的总等待时间。

使用道具 举报

回复
论坛徽章:
0
发表于 2018-1-26 16:43 来自手机 | 显示全部楼层
如果把cpu wait理解为 wait time这事好理解了。不知道是不是相等的关系

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表