精华内容
下载资源
问答
  • 在使用EM图形界面查看数据库cpu使用率时,发现查看较久的信息的话就不准确,下面提供sql直接查看 ---sysman.MGMT$METRIC_DETAILS selectmmd.TARGET_NAME, ...
    在使用EM图形界面查看数据库cpu使用率时,发现查看较久的信息的话就不准确,下面提供sql直接查看

    ---sysman.MGMT$METRIC_DETAILS
    select mmd.TARGET_NAME,
           mmd.METRIC_LABEL,
           mmd.COLUMN_LABEL,
           mmd.COLLECTION_TIMESTAMP,
           mmd.VALUE
      from sysman.MGMT$METRIC_DETAILS mmd
     where mmd.TARGET_NAME = '<Target Name>'
       and mmd.TARGET_TYPE = 'host'
       and mmd.column_label in ('CPU Utilization (%)') -- Metric Name as seen in console 
       and mmd.collection_timestamp > (sysdate - 5) -- limiting history (max 7 days [Default]) 
     order by mmd.collection_timestamp;

    ---sysman.MGMT$METRIC_HOURLY
    select mmh.TARGET_NAME,
           mmh.METRIC_LABEL,
           mmh.COLUMN_LABEL,
           mmh.rollup_TIMESTAMP,
           mmh.minimum,
           mmh.maximum,
           mmh.AVERAGE,
           mmh.STANDARD_DEVIATION
      from sysman.MGMT$METRIC_HOURLY mmh
     where mmh.TARGET_NAME = '<Target Name>'
       and mmh.TARGET_TYPE = 'host'
       and mmh.column_label in ('CPU Utilization (%)') -- Metric Name as seen in console 
       and mmh.rollup_timestamp > (sysdate - 14) -- limiting history (max 31 days [Default]) 
     order by mmh.rollup_timestamp;

    ---sysman.MGMT$METRIC_DAILY
    select mmd.TARGET_NAME,
           mmd.METRIC_LABEL,
           mmd.COLUMN_LABEL,
           mmd.rollup_TIMESTAMP,
           mmd.minimum,
           mmd.maximum,
           mmd.AVERAGE,
           mmd.STANDARD_DEVIATION
      from sysman.MGMT$METRIC_DAILY mmd
     where mmd.TARGET_NAME = '<Target Name>'
       and mmd.TARGET_TYPE = 'host'
       and mmd.column_label in ('CPU Utilization (%)') -- Metric Name as seen in console 
       and mmd.rollup_timestamp > (sysdate - 31) -- limiting history (max 365 days [Default]) 
     order by mmd.rollup_timestamp;

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29953799/viewspace-1973111/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/29953799/viewspace-1973111/

    展开全文
  •  运行在Windows上的Oracle开发库的oracle进程CPU使用率保持在99%,服务器和数据库均反应缓慢。  二、排查思路  可能造成CPU使用率高的情况有:大量排序、大量SQL解析、全表扫描、Oracle Bug等。因此希望找到...
  • 1、查看数据库进程id Ps –ef|grep dmser 数据库进程ID是1613/2、通过top命令查看CPU使用率高的pid: top -Hp 1613 这里CPU使用率高的PID是1674 3、通过PID查找数据库中对应的会话 select SESS_ID, “VSESSIONS"....

    1、查看数据库进程id
    Ps –ef|grep dmser
    在这里插入图片描述

    数据库进程ID是1613/2、通过top命令查看CPU使用率高的pid:
    top -Hp 1613
    在这里插入图片描述

    这里CPU使用率高的PID是1674
    3、通过PID查找数据库中对应的会话
    select
    SESS_ID,
    “VSESSIONS".USERNAME,SQLTEXT,"VSESSIONS".USER_NAME , SQL_TEXT , "VSESSIONS”.TRX_ID ,
    “VSESSIONS".THRDID,"VSESSIONS".THRD_ID , "VSESSIONS”.CREATE_TIME,
    "VSESSIONS".CLNTIPfromvSESSIONS".CLNT_IP from vsessions
    WHERE
    “V$SESSIONS”.THRD_ID IN (1674);

    在这里插入图片描述

    会话ID是140266455576176
    

    4、CPU使用率高的原因
    CPU使用率高的原因是140266455576176会话的“select * from SYS.DBA_OBJECTS CONNECT BY level<10000”语句,然后对这个语句进行优化,如果想立即降低CPU使用率,在确认不影响数据的情况下可以杀死这个会话到达降低CPU使用率的目的。

    展开全文
  • Oracle数据库CPU使用率过高问题处理

    千次阅读 2017-09-03 22:23:18
    2.打开Process Explorer,查看CPU使用情况最高的进程 3.双击该进程,查看详情 \ 4. 获取cpu使用最好的线程tid 5. 查询sql_id [sql] view plain copy select sql_id from...
    
    

    1.下载Process Explorer

    2.打开Process Explorer,查看CPU使用情况最高的进程


    3.双击该进程,查看详情

    \

    4.    获取cpu使用最好的线程tid

    5.    查询sql_id

    [sql] view plain copy
    1. select sql_id from v$session  
    2.   where paddr in(  
    3.     select addr from v$process  
    4.     where spid in('16796','11972','9812','11652','5484')  
    5.  )  

    6.根据5中的sql_id查询具体执行占用CPU过高的sql语句

    [sql] view plain copy
    1. select * from v$sqlarea where sql_id in(sql_id1,sql_id2,sql_id3...);  

    7.查询sid和serial#

    [sql] view plain copy
    1. SELECT sid,serial#,sql_id from v$session where sql_id in(sql_id1,sql_id2,sql_id3...)  

    8.杀掉进程

    [sql] view plain copy
    1. alter system kill session 'sid,serial#';  

    或批量杀进程

    [sql] view plain copy
    1. SELECT 'alter system kill session '''||sid||','||serial#||''';' from v$session where sql_id in(sql_id);  

     

    9.分析SQL进行优化



    一、问题描述

    运行在Windows上的Oracle开发库的oracle进程CPU使用率保持在99%,服务器和数据库均反应缓慢。


    二、排查思路

    可能造成CPU使用率高的情况有:大量排序、大量SQL解析、全表扫描、Oracle Bug等。因此希望找到占用CPU较高的进程ID(UNIX或LINUX)或线程ID(Windows)来找到对应的SQL语句,以分析问题的原因。


    三、处理步骤

    1. 下载process explorer工具,用于查看Windows环境下的进程和线程信息。


    2. 双击oracle.exe进程,查看oracle的线程信息,按照CPU使用率倒序排序,找到占用CPU较高的TID。(如在UNIX或LINUX系统中,使用top命令即可获得占用CPU较高的进程ID,使用进程ID去数据库中查找对应信息即可)


    3. 使用上面找到的TID代入下面的SQL查询对应的SQL语句或会话信息。

    [sql] view plain copy
    1. SELECT sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value),DECODE(sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b WHERE b.paddr =(SELECT addr FROM v$process c WHERE c.spid = '&pid')) ORDER BY piece ASC;  

    [sql] view plain copy
    1. select id,serial# ,username,osuser,machine,program,process,to_char(logon_time,'yyyy-mm-dd hh24:mi:ss') logon from v$session where paddr in ( select addr from v$process where spid in('&pid'));  

    4. kill掉查出的会话,记录查出的SQL语句待后续分析。


    四、总结:

    在进行第三步的时候遇到状况:使用找出的TID在数据库中查不到对应的SQL和会话信息。为先恢复数据库服务,直接kill了占用CPU较高的几个线程,后续通过分析AWR和ASH报告推测本次故障与数据库中几个涉及临时表创建和操作的存储过程有关,在存储过程执行中有大量的全表扫描和直接路径读并伴随大量的物理读操作。

    展开全文
  • 使用 top 命令, 查看cpu使用情况 %Cpu(s): 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st us:用户占用cpu百分比,如果长期高于50%,需检查会话中是否存在大量表扫描,检查会话快照中...
    • 使用 top 命令, 查看cpu使用情况

      %Cpu(s):  0.3 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,   0.0 st
    • us:用户占用cpu百分比,如果长期高于50%,需检查会话中是否存在大量表扫描,检查会话快照中耗时长的会话操作和检查上下文快照中,存在tbscan的上下文操作。如果存在表扫描,可以使用添加索引进行优化。

    • sy:内核占用cpu百分比。如果 us + sy 长期高于80% ,表明cpu资源不足,需要增加集群cpu资源。

    • wa:i/o等待占用cpu时间比,如果长期高于20%,说明i/o等待严重,可能的原因是磁盘的大量随机读写造成的,也可能是磁盘的读写瓶颈,可以通过磁盘I/O工具进一步进行诊断。

    更多信息请访问巨杉数据库官网​​​​​​​

    展开全文
  • 查看监控,cpu使用率过高,这种情况百分之95都是代码问题。实例规格升级是不用升级的。 定位问题 db.currentOp() 查询正在执行的命令 查找secs_running 运行时间长的语句。 发现有一个skip XXX limit 10 的语句在...
  • 故障: 晚上大概7点钟左右,...所以到tomcat服务器上查看下catalina.out输出日志。却没发现任务错误信息。分析: 想了想,视频加载慢,会不会是数据库问题呢?果断上mysql数据库(从库)看下top如下:PIDUSERPRNIVIRT...
  • linux服务器上cpu使用率总是100%解决方案靠山:老早之前就查看服务器上的cpu一直居高不下,总以为是有什么大的程序运行(确实是,只不过是挖矿的找到你的服务器,使用你的cpu举行挖矿),厥后百度后才知道是有一种挖矿...
  • 原因: Sqlservercup使用率超高占到100% ,导致连接数据库异常 1.打开SQL Server Profiler ...2.启动项目,可以查出那个sql语句占有cpu使用率高 3. 针对该语句进行优化,原因是 where (or)造成交叉查询, ...
  • 用top命令查看CPU利用居高不下 处理过程: 查看oracle的等待事件,select event,count(*) from v$session_wait group by event;发现有21个latch: Cache buffers chains事件,latch是内存的争用导致 确认为...
  • cpu使用率高的解决办法: 1.首先应该查看主机、容器是否能登陆,如果不能登录(hang死)需要通知应用方等,共同决议是否需要重启主机或容器 2.如果可以登陆主机或容器,查看主机状态,cpu使用率,哪些进程占用cpu...
  • 查看CPU使用 在 Linux 系统下,使用 top 命令查看 CPU 使用情况。 %Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st CPU各类型占用详解: us(user):表示 CPU 在用户运行的时间百分比,...
  • DB Server CPU 使用率100%

    千次阅读 2012-07-24 10:15:38
    打开电脑登陆到数据库服务器发现CPU使用率达到100%。而平时CPU最高也就50%,持续时间不会超过2分钟,这个是很不正常的。 查看了一下运行的SQL,确实用户比平时要多。但是很多语句明显运行时间要比平时长了很多。...
  • 排查MongoDB CPU使用率高的问题

    千次阅读 2020-02-14 11:08:35
    执行db.currentOp()命令,查看数据库当前正在执行的操作。命令的输出示例如下: { "desc" : "conn632530", "threadId" : "140298196924160", "connectionId" : 632530, "client" : "11.192....
  • 今天早晨收到邮件告警,提示有台数据库服务器的cpu使用率在50%-70%间波动,有几个瞬间达到了90多。 通过巡检数据库,发现有两处异常: ① 故障期间的慢查询日志其中90%的慢查询来自于同一个sql: 在半个小时...
  • docker查看容器的cpu占用

    万次阅读 2019-05-24 20:05:05
    每个接口进行调用数据时都会产生很大的延时,导致cpu占用不规则跳动,删除压测的数据,释放了部分数据库数据,但是指标不治本,想着接下来看看mycat,redis好像压测也会因为内存使用完毕爆掉,想着接下来使用kafka...
  • 最近一台服务器的CPU使用率长期保持在100%的状态,查看进程发现是Mysql服务导致的。于是搜索各方资料,终于成功解决问题。备忘以及分享一下,希望可以帮助各位新手朋友。 (服务器运行环境是Windows server2008,...
  • top命令查看cpu利用超过100%

    万次阅读 2018-05-18 13:36:51
    刚接手公司测试环境服务器,前几天出现数据库卡死的情况,所以想了解一下数据库服务器性能,使用top命令查看cup超过100%,吓了一跳。实际服务器有12核,最高cpu可以1200%,虚惊一场。cpu核数可以使用top按1查看,也...
  • 前几天更新完程序,测试功能...然后赶紧登录数据库检查,1、top查看发现mysql进程cpu使用率竟然高达1300%多,我勒个去,这是什么鬼!2、登录mysql查看线程# show processlist发现大量的从应用服务器过来的连接,而且...
  • 查看当前的数据库用户连接有多少 USE master GO SELECT * FROM sys.[sysprocesses] WHERE [spid] > 50 –AND DB_NAME([dbid])=‘gposdb’ SELECT COUNT(*) FROM [sys].[dm_exec_sessions] WHERE [session_id] >...
  • 改用静态的方式的确是能够大大降低数据库的存取频率,进而降低CPU使用率. 依你所表述的情况来看,应该是你的ASP+ACCESS的代码不是最优化的问题,不过具体怎么优化我也不知道.因为你动态的数据库,每次访问,查看某一条...
  • 或者还会有内存使用率比较高,并且不断的上升; 原因是可能有一些进程占用了大量的cpu或者mem资源,长时间不能释放,累积占用资源比较高,可以如下进行检查系统情况: 查看系统中使用mem资源比较多的进程: ps -...
  • 一、使用dstat -tcdlmnsygr --disk-util查看当前系统资源使用状况,当前cpu使用率100% 二、使用TOP命令 查看当前占用CPU进程,可以看到当前占用CPU进程最高的是MYSQL load average出现负载 三、开启慢SQL的...
  • 在采用Oracle 10g以前,他可以使用操作系统(OS)工具,如sar 和vmstat,并推断出一些确定争用问题的度量指标。在Oracle 10g中,在数据库中自动采集OS级别的度量指标。为了查看潜在的主机争用问题,John对V$OSSTAT...
  • 环境:Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit ProductionCentOS release 6.5 X64现象:系统CPU使用率达到75%,查看系统进程资源状态。数据库查看select t.sql_text,s.sid, s.serial#...
  • 测试环境有套库,开发人员反映cpu使用率非常高,但是他们没有在数据库执行什么语句。 我生成了awr和实时查看库上语句执行情况,发现有如下语句,一直占有cpu资源: select s.synonym_name object_name, o.object_...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 292
精华内容 116
关键字:

查看数据库cpu使用率