1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

Oracle优化CPU的使用率的具体表现

2022-11-26 | 数据库 | 1818ip | 585°c
A+ A-

我个人对Oracle很是喜欢,同时在实际工作中也十分喜欢Oracle优化CPU的使用率的相关经验教训,以下就是以这个问题来详细说说吧。CPU是服务器的一项重要资源,服务器良好的工作状态是在工作高峰时CPU的使用率在90%以上。

如果空闲时间Oracle优化CPU使用率就在90%以上,说明服务器缺乏CPU资源;如果工作高峰时Oracle优化CPU使用率仍然很低,说明服务器CPU资源还比较富余。

查看Oracle优化CPU使用率

使用操作相同命令可以看到CPU的使用情况,一般Unix操作系统的服务器,可以使用“sar u”命令查看Oracle优化CPU使用率,Windows NT操作系统的服务器,可以使用性能管理器来查看CPU的使用率。

查看数据库使用CPU的时间

可以通过查看V$SYSSTAT数据字典中b“CPU used by this session”统计项得知Oracle数据库使用的CPU时间,查看“OS User level CPU time”统计项得知操作系统的用户态下CPU时间,查看“OS System call CPU time”统计项得知操作系统的系统态下CPU时间,操作系统总的CPU时间就是用户态和系统态时间之和。

如果Oracle数据库使用的CPU时间占操作系统总的CPU时间90%以上,说明服务器CPU基本上被Oracle数据库使用着。反之,则说明服务器CPU被其它程序占用过多,Oracle数据库无法得到更多的CPU时间。

数据库管理员还可以通过查看V$SYSSTAT数据字典来获得当前连接Oracle数据库各个会话占用的CPU时间,从而得知什么会话耗用服务器CPU比较多。出现CPU资源不足的情况是很多的,SQL语句的重解析、低效率的SQL语句、锁冲突都会引起CPU资源不足。

查看SQL语句的解析情况

数据库管理员可以执行下述语句来查看SQL语句的解析情况:

SELECT*FROMV$SYSSTAT 
WHERENAMEIN 
('parsetimecpu','parsetimeelapsed','parsecount(hard)'); 

这里“parse time cpu”是系统服务时间,“parse time elapsed”是响应时间,用户等待时间waite time = parse time elapsed – parse time cpu。

由此可以得到用户SQL语句平均解析等待时间=waite time / parse count。这个平均等待时间应该接近于0,如果平均解析等待时间过长,数据库管理员可以通过下述语句来发现是什么SQL语句解析效率比较低。

SELECTSQL_TEXT,PARSE_CALLS,EXECUTIONSFROMV$SQLAREA 
ORDERBYPARSE_CALLS; 

程序员可以优化这些语句,或者增加Oracle参数SESSION_CACHED_CURSORS的值。以上介绍Oracle优化CPU使用率。

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11790.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。