ITPub博客

首页 > 数据库 > Oracle > 一次异常内存消耗的诊断与解决

一次异常内存消耗的诊断与解决

Oracle 作者:li__hl8888 时间:2016-05-18 10:50:24 0 删除 编辑

1>状态:

系统可用内存低,只有100M:

使用vmstat,top和 sar命令,和正常的系统性能做比较:

1>vmstat 2 10 :  实际情况:r ,b,w,pi,po,us,sy ,id,wa.  @PI,PO很高,经常<>0 @r=8,b=5(I/O数量>3说明不正常)

2>top 200M free

3>sar -u 2 10 %wio >%14  %idle<%40 则有性能问题

4>swapinfo  used大于%12  %5的标准线路

5>ps -ef|grep oracle|wc -l


Command:getconf PAGESIZE


VMSTAT:

如果r经常大于4,且id经常少于40,表示cpu的负荷很重。

如果pi,po长期不等于0,表示内存不足。

如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。

1.)如果在processes中运行的序列(process r)是连续的大于在系统中的CPU的个数表示系统现在运行比较慢,有多数的进程等待CPU。

2.)如果r的输出数大于系统中可用CPU个数的4倍的话,则系统面临着CPU短缺的问题,或者是CPU的速率过低,系统中有多数的进程在等待CPU,造成系统中进程运行过慢。

3.)如果空闲时间(cpu id)持续为0并且系统时间(cpu sy)是用户时间的两倍(cpu us)系统则面临着CPU资源的短缺。


假设和分析:

1>ORACLE SGA设置不合理

2>ORACLE PGA设置不合理

3>僵死的进程不能正常释放内存。

4>人为操作造成了内存泄露。

5>操作系统bug

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

请登录后发表评论 登录
全部评论

注册时间:2011-06-01

  • 博文量
    208
  • 访问量
    92684