VKTM进程消耗大量CPU的问题

11g中引入了VKTM后台进程,VKTM是virtual keeper of time的缩写,该进程负责提供时钟时间(每秒更新一次)以及参考时间服务(每20ms更新一次,仅在进程高优先级情况下可用),该参考时间服务用于各种基于时间间隔的度量。  VKTM在SGA中发布这些计时信息,以便各种RDBMS Client可以廉价和快速了解时间信息。Wall-clock 时钟时间每一秒更新一次且单调递增。 而参考时间计数(Reference-time)则每20ms更新一次,且仅当VKTM运行在高优先级情况下时可用。   在某些环境下VKTM持续消耗较多的CPU,特别是在虚拟化的环境中例如Vmware、Vbox等; 对于这些虚拟化环境若是非产品production环境,则可以考虑将VKTM进程不要运行在高优先级上,虽然这会导致Reference-time参考时间计数不可用,但是实际不会产生必要的性能度量不可用的问题。 在11g中默认_high_priority_processes 隐藏参数指定了LMS*和VKTM运行在高优先级下,可以通过修改该参数,仅让LMS运行在高优先级下,这样VKTM所消耗的CPU将明显下降。 当让我们不建议在产品环境中这样做,如果你确实要这样做,建议优先咨询Oracle Support。 使用方法如下,注意需要重启RDBMS实例方才生效:      
SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
 FROM SYS.x$ksppi x, SYS.x$ksppcv y
 WHERE x.inst_id = USERENV ('Instance')
 AND y.inst_id = USERENV ('Instance')
 AND x.indx = y.indx
AND x.ksppinm like '%high%';

SQL> alter system set "_high_priority_processes"='LMS*' scope=spfile;

System altered.

之后重启INSTANCE

shutdown immediate;
startup;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值