ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 8173|回复: 9

[精华] 如何知道占用太多资源的session以及那个sql最耗cpu

[复制链接]
论坛徽章:
41
ITPUB元老
日期:2005-02-28 12:57:002011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
发表于 2001-11-22 08:50 | 显示全部楼层 |阅读模式


建议你去开发版看看,那里可能有你需要的.

认证徽章
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51
发表于 2001-11-22 08:09 | 显示全部楼层

如何知道占用太多资源的session以及那个sql最耗cpu

如何知道占用太多资源的session以及那个sql最耗cpu,
有好多脚本,但哪个sql好像不好找?
另外,deployjava是否很慢?

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
发表于 2001-11-22 09:01 | 显示全部楼层
try:
select s.sid,s.value "CPU Used"
from v$sesstat s,v$statname n
where s.statistic#=n.statistic# and n.name='CPU used by this session'
and s.value>0
order by 2 desc;

使用道具 举报

回复
论坛徽章:
19
2011新春纪念徽章
日期:2011-01-25 15:41:01马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
发表于 2001-11-22 10:26 | 显示全部楼层

同时要把timed_statistics 打开

alter system set timed_statistics= true

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
发表于 2003-2-25 11:16 | 显示全部楼层

请问白鹭

为什么要限制n.name='CPU used by this session' 这样找的session不一定是占cpu最大的啊?
我觉得这样就可以:
select s.value,n.name from v$sesstat s,v$statname n where s.statistic#=n.statistic# and s.value>0 order by  s.value desc;
初学者,很多不懂,请指教!

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
1
授权会员
日期:2005-11-10 13:46:38
发表于 2006-2-10 15:21 | 显示全部楼层
v$sesstat 有各种各样的状态信息, 比如memory, log, cpu , etc

n.name='CPU used by this session'  是只选出关于CPU使用的状态信息啊

使用道具 举报

回复
论坛徽章:
302
蜘蛛蛋
日期:2013-07-24 15:26:07一汽
日期:2014-02-02 18:41:57红旗
日期:2014-02-07 10:47:20路虎
日期:2014-02-13 10:34:03保时捷
日期:2014-02-14 09:46:462014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
发表于 2006-2-10 15:40 | 显示全部楼层
白鹭写的不科学,实际上他的语句取出来的是该会话总共使用CPU资源,
并不是当前的情况,在3层结构里,很多会话会一直存在被调用,但不能说
这个会话造成系统繁忙。

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
1
授权会员
日期:2005-11-10 13:46:38
发表于 2006-2-10 16:17 | 显示全部楼层
最初由 ZALBB 发布
[B]白鹭写的不科学,实际上他的语句取出来的是该会话总共使用CPU资源,
并不是当前的情况,在3层结构里,很多会话会一直存在被调用,但不能说
这个会话造成系统繁忙。 [/B]


3层结构的时候, 怎么找到隐藏在后面的会话呢?

如果先找占CPU时间长的sql,
SELECT ROWNUM top, t.*
  FROM (SELECT   x.CPU_TIME/x.executions per_cpu, x.hash_value, x.sql_text
            FROM v$sqlarea x
           WHERE x.executions>0
             AND x.parsing_user_id <>0
        ORDER BY x.CPU_TIME/x.executions DESC) t
WHERE ROWNUM < 21

再根据hash_value的v$session中去找session, 这样可以吧. 当然可能找不到该session了

使用道具 举报

回复
认证徽章
论坛徽章:
6
奥运纪念徽章
日期:2013-07-18 13:55:122014年新春福章
日期:2014-02-18 16:49:31马上有钱
日期:2014-02-18 16:49:31火眼金睛
日期:2017-01-03 01:13:18目光如炬
日期:2016-12-12 01:27:58目光如炬
日期:2016-12-25 22:00:00
发表于 2016-12-12 10:19 | 显示全部楼层
这么老的i帖子。。

使用道具 举报

回复
认证徽章
论坛徽章:
4
2014年新春福章
日期:2014-02-18 16:49:31马上有钱
日期:2014-02-18 16:49:31喜羊羊
日期:2015-03-04 14:54:422015年新春福章
日期:2015-03-06 11:59:47
发表于 2016-12-12 13:24 | 显示全部楼层
直接ash 或者awr不就完了,为啥非要查询sql 呢

使用道具 举报

回复

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

本版积分规则

久等啦!10张门票开启你的DTCC2017之旅~

2017中国数据库技术大会将于2017年5月11-13日如约而至,本届大会以“数据驱动•价值发现”为主题,共设定2大主场和21个技术专场,云集海内外120+位技术大牛,共同探讨Oracle、MySQL、NoSQL、云端数据库、区块链、深度学习等领域的前瞻性热点话题。
即日起,填写DTCC2017会前调查问卷,即有机会赢取价值2600元的大会门票1张!仅限10张!
----------------------------------------
活动截止时间:2017年5月5日统一公布

问卷入口>>
TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表