Linux中模拟诊断Oracle高CPU占用

标签: linux 模拟 诊断 | 发表时间:2012-01-24 16:47 | 作者:kkdelta
出处:http://blog.csdn.net
 下面是模拟过程
1,在一个session中模拟CPU高使用率,如下:
declare
num int:=0;
begin
loop
num:=num+1;
end loop;
end;
/


2,在shell窗口用top命令查看CPU使用情况:                                                                                                            
 PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
 7913 oracle    25   0 24364  23M 22144 R    91.7  2.3   0:44   0 oracle


3,通过Oracle提供的视图查看Session情况:
SQL> select addr,spid from v$process where spid='7913';                                                                                                              
ADDR     SPID
-------- ------------
2AA1A6EC 7913
SQL> select sid,sql_id from v$session where paddr='2AA1A6EC'; 
       SID SQL_ID
---------- -------------
       157 948mkp962vqgy
SQL> select sql_text from v$sql where sql_id='948mkp962vqgy';
SQL_TEXT
--------------------------------------------------------------------------------
declare num int:=0; begin loop num:=num+1; end loop; end;


4,从上面分析可以知道是执行的SQL有死循环.
将对应的服务进程kill掉 kill -9 7913
[在碰到CPU高占用的时候可以根据上面的步骤,分析对应的session执行的SQL进行不通的处理]
作者:kkdelta 发表于2012-1-24 16:47:14 原文链接
阅读:17 评论:0 查看评论

相关 [linux 模拟 诊断] 推荐:

Linux中模拟诊断Oracle高CPU占用

- - CSDN博客推荐文章
1,在一个session中模拟CPU高使用率,如下:. 2,在shell窗口用top命令查看CPU使用情况:                                                                                                            .

Redis持久化实践及灾难恢复模拟 « Hey! Linux.

- -
一、对Redis持久化的探讨与理解. 目前Redis持久化的方式有两种: RDB 和 AOF. 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复. Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施. 所以Redis在利用RDB和AOF进行恢复的时候,都会读取RDB或AOF文件,重新加载到内存中.

linux下模拟一个木马程序运行过程

- -
将一个程序放入到后台,悄悄的执行. 系统进程:由系统内核自行管理. 系统中的每个进程,都有一个位置的ID,这就是pid,而且每次启动进程以后,PID都不相同. 作用:查看当前运行在后台的进程有哪些. fg   进程编号    把进程从后台调到前台执行. kill %进程编号  杀死进程. ps aux   打印系统所有进程.

如何诊断CDN故障

- - 火丁笔记
某项目使用CDN做文件下载服务,最近不时有网友反馈下载出错,因为CDN是第三方提供的,且节点众多,所以诊断起来有点麻烦,必须想想招儿. 首当其冲的问题是如何确认CDN有哪些节点. 幸运的是通过 阿里测提供的服务,我们能拿到这个IP列表,当然这个IP列表不可能百分百完整,不过应该包含了大部分的节点,有兴趣的可以参考 百度的JQuery CDN例子.

JVM诊断调优CheatSheet

- - ImportNew
使用top去获取进程cpu使用率;使用/proc文件查看进程所占内存. 查看类的一些信息,如字节码的版本号、常量池等. 查看进程的gc情况. jstat -gcutil [pid] (显示总体情况). jstat -gc [pid] 1000 10(每隔1秒刷新一次 一共10次). 查看jvm内存使用状况.

初步诊断你的 GC

- - IT瘾-dev
本文是好友阿飞写的,并且经过作者同意发的原创. 阿飞Javaer,转载请注明原创出处,谢谢. JVM的GC机制让Java程序员省去了自己垃圾回收的烦恼,大大提高了生产效率. 但是正因为JVM垃圾回收机制足够优秀,导致很多Java程序员对JVM这个黑盒了解甚少,很多人没有去了解它,很多人也没机会去了解它.

Javascript 里跑Linux

- rockmaple - Shellex's Blog
牛逼到暴的大拿 Fabrice Bellard,用Javascript实现了一个x86 PC 模拟器,然后成功在这个模拟器里面跑Linux(请用Firefox 4 / Google Chrome 11打开,Chome 12有BUG). 关于这个东西… 伊说 “I did it for fun“,大大啊大大啊….

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

linux makefile编写

- hl - C++博客-首页原创精华区
在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则. target也就是一个目标文件,可以是Object File,也可以是执行文件. prerequisites就是,要生成那个target所需要的文件或是目标. command也就是make需要执行的命令. 这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在 command中.

Linux下的VDSO

- 圣斌 - Adam's
VDSO(Virtual Dynamically-linked Shared Object)是个很有意思的东西, 它将内核态的调用映射到用户态的地址空间中, 使得调用开销更小, 路径更好.. 开销更小比较容易理解, 那么路径更好指的是什么呢. 拿x86下的系统调用举例, 传统的int 0×80有点慢, Intel和AMD分别实现了sysenter, sysexit和syscall, sysret, 即所谓的快速系统调用指令, 使用它们更快, 但是也带来了兼容性的问题.