oracle服务器的CPU占用率一直100%排查方式

这篇具有很好参考价值的文章主要介绍了oracle服务器的CPU占用率一直100%排查方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景说明

公司开发、测试、演示环境,三个环境的oracle服务器无论服务器是否空闲, CPU的占用率一直是100%, 一直也没有找到问题原因,今天就花了一整天时间研究这个问题。

通过AWR报告查看oracle运行情况

awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告。

  1. sqlplus / as sysdba 链接数据库。执行下面的sql,可以替换时间范围,设定报告范围
select 
snap_id,
dbid,
instance_number,
to_char(end_interval_time,'YYYY-MM-DD HH24:MI:SS')
from dba_hist_snapshot  
where end_interval_time >=to_date('2020-12-18 09:00:00', 'yyyy-mm-dd hh24:mi:ss')    
and end_interval_time <= to_date('2020-12-18 10:01:00', 'yyyy-mm-dd hh24:mi:ss')  
order by end_interval_time ;

结果如下图oracle数据库cpu过高 排查方法,oracle,服务器,数据库

  1. 生成AWR报告。4个参数分别是步骤1中查询结果的DBID列,INSTANCE_NUMBER列,最后两个参数是SNAP_ID的开始和结束值。
  select output from 
  table(dbms_workload_repository.awr_report_html(1660034318,1,2059,2062)); 

结果如下
oracle数据库cpu过高 排查方法,oracle,服务器,数据库

  1. 将结果集复制到txt文档,再将后缀改成html即可打开查看
    效果如下图:
    oracle数据库cpu过高 排查方法,oracle,服务器,数据库

4.分析报告发现,执行CPU占用率很高的sql, 是一个物化视图,物化视图相当于一张物理表, 物化视图会在创建时生成定时任务,定时刷新构建物化视图的sql。而这个sql非常复杂,而且很耗时,而这个物化视图执行周期为10分钟,可能10分钟不一定执行的玩,物化视图关联表很多,而且数据量达到了100W, 导致oracle进程的cpu占用率一直是100%文章来源地址https://www.toymoban.com/news/detail-619566.html

到了这里,关于oracle服务器的CPU占用率一直100%排查方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux运维】shell脚本检查服务器内存和CPU利用率

    在管理服务器时候写了一个 shell脚本,在服务上实现每天凌晨3点查系统的指定文件夹下的容量大小,如果超过10G就要删除3天前的内容,还要时刻查询内存和cpu利用率,如果超过80%就要提示用户出现过载 将以上代码保存为一个.sh文件,然后通过crontab在每天凌晨3点运行即可:

    2024年02月09日
    浏览(64)
  • 服务器CPU飚高排查

    排查思路 当正在运行的Java服务导致服务器的CPU突然飙高时,我们该如何排查定位到哪个接口的哪行代码导致CPU飙高的问题呢?我主要提供两个方案: jstack arthas 准备工作 代码准备 现在需要准备一段可以让服务器CPU飙高的代码以及把代码部署到服务环境。 打包 使用maven打包

    2024年02月10日
    浏览(54)
  • 【Java】 服务器cpu过高如何排查和解决?

    对于互联网公司,线上CPU飙升的问题很常见(例如某个活动开始,流量突然飙升时),按照本文的步骤排查,基本1分钟即可搞定!特此整理排查方法一篇,供大家参考讨论提高。 线上系统突然运行缓慢,CPU飙升,甚至到100%,以及Full GC次数过多,接着就是各种报警:例如接口

    2024年02月11日
    浏览(52)
  • linux下cpu占用率100%怎么解决?

    在实际的生产环境中,常常会遇到服务器CPU爆满的问题,这时候,正确的排查方法,有助于快速的定位问题。 使用top命令查看系统总体的CPU和内存使用情况,以及各个进程的资源使用情况。 执行top -Hp 63424,显示一个进程的线程运行信息列表,键入P (大写p),线程按照CPU使用

    2024年02月06日
    浏览(44)
  • 七、训练模型,CPU经常100%,但是GPU使用率才5%左右

    现象: 大概原因 :GPU运算完毕后,花费了大量时间在写日志和存储pth文件,所以GPU使用率一直过低,CPU使用率一直很高。 具体原因分析参见【深度学习】踩坑日记:模型训练速度过慢,GPU利用率低 这里直接上解决办法: 减少日志IO操作频率 使用pin_memory和num_workers(num_wor

    2024年02月11日
    浏览(50)
  • 【面试】线上 CPU 100% 问题排查

    回答套路一般为:线上服务器没有排查过,线上服务器只有运维才有操作权限。在平时开发的时候,在测试服务器上排查过。 2.1、将代码打包成 jar 包 参考: 点我 2.2、传到服务并运行 运行好的效果如下 3.1、拿到进程 id 通过 top 命令,就可以看到让 cpu 100% 的进程 id,pid 就是

    2024年02月11日
    浏览(49)
  • Java 开发,当cpu占用率100%,window和Linux分别如何定位问题

    导言 Java服务,有时候会遇到CPU 100%的问题,对于这样的问题,我们如何快速定位并解决呢?一般会有如下三个步骤: 找到最耗CPU的进程 找到这个进程中最耗CPU的线程 使用jdk自带工具jstack 查看堆栈信息,定位线程的什么操作消耗了大量CPU,定位对应代码 Java程序CPU占用过高

    2024年02月04日
    浏览(35)
  • java 应用cpu飙升(超过100%)故障排查

    害。。。 昨天刚写完一份关于jvm问题排查相关的博客,今天线上项目就遇到了一个突发问题。 现象是用户反映系统非常卡,无法操作。 然后登录服务器查看发现cpu 一直100%以上。 发现线上pid 29737的 java应用cpu达到100% 输入上述命令,然后按H显示cpu最高排名的线程。可以看到

    2023年04月26日
    浏览(56)
  • Linux系统CPU占用率较高问题排查思路

    作为工程师,在日常工作中我们会遇到 Linux服务器上出现CPU负载达到100%居高不下的情况,如果CPU 持续跑高,则会影响业务系统的正常运行,带来企业损失。 对于CPU过载问题通常使用以下两种方式即可快速定位: 方法一 第一步:使用 top命令,然后按shift+p按照CPU排序 找到占

    2024年02月07日
    浏览(33)
  • 【Linux】Linux突然发现CPU占用100%该怎么办?如何排查进程(带你一文解决)

    目录 Linux的CPU发现占用率100%,一般会由什么情况引起? 1、进程负载过高: 2、错误配置的服务或应用程序: 3、恶意软件或病毒: 4、不良硬件或驱动程序: 5、系统内核问题: 6、CPU过热: 对于排查CPU占用率过高的原因,可以采取以下步骤和工具: 一、top/htop方法 1、使用

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包