Oracle 数据库日常巡检之检查数据库cpu、I/O、内存性能
csdh11 2025-05-07 23:58 4 浏览
记录数据库的cpu使用、IO、内存等使用情况,使用vmstat,iostat,sar,top等命令进行信息收集并检查这些信息,判断资源使用情况。
1. CPU使用情况:
top命令
top命令通常是关注CPU和IO等待情况,top -p pid ,后在按H,可以查看该进程ID的线程情况或说子进程情况,如
2.内存使用情况:
命令:free-m
# free -m
total used free shared buff/cache available
Mem: 32010 13470 1040 19 17500 18012
Swap: 2047 124 1923
total:内存总数
used:已经使用的内存数
free:空闲的内存数
shared:共享内存大小,主要用于进程间通信
buffers:主要用于块设备数据缓冲
cached:主要用于文件内容缓冲
- buffers/cached = used(第一行)- buffers - cached程序当前"真实使用"的"物理内存"的大小。
+ buffers/cached = buffers + cached实际缓存大小
实际剩余内存=free+buffers+cached
3.系统IO情况:iostat,vmstat
yum install sysstat -y //iostat 命令安装
yum -y install procps-ng //vmstat 命令安装
# vmstat 3 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 127744 1083724 445540 17475104 0 0 1 27 0 1 1 0 98 0 0
0 0 127744 1083616 445540 17475136 0 0 0 193 1459 2203 0 0 100 0 0
0 0 127744 1085536 445540 17475148 0 0 0 1367 3085 4635 2 0 98 0 0
0 0 127744 1085304 445540 17475172 0 0 0 297 1506 2111 0 0 99 0 0
0 0 127744 1085368 445540 17475192 0 0 0 291 1407 2030 1 0 99 0 0
# iostat -k 1 3
Linux 3.10.0-957.el7.x86_64 (qpl-fanwei-oa) 05/26/2022 _x86_64_ (16 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.32 0.00 0.33 0.03 0.00 98.32
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.06 0.95 15.69 3266129 54081900
sdb 28.79 8.79 414.45 30289153 1428115592
scd0 0.00 0.00 0.00 1028 0
dm-0 2.07 0.91 15.65 3119290 53911376
dm-1 0.01 0.01 0.05 21240 166196
avg-cpu: %user %nice %system %iowait %steal %idle
8.02 0.00 1.13 0.00 0.00 90.86
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 5.00 0.00 20.00 0 20
sdb 45.00 0.00 440.00 0 440
scd0 0.00 0.00 0.00 0 0
dm-0 5.00 0.00 20.00 0 20
dm-1 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
2.19 0.00 0.44 0.00 0.00 97.37
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.00 0.00 4.00 0 4
sdb 18.00 0.00 248.00 0 248
scd0 0.00 0.00 0.00 0 0
dm-0 1.00 0.00 4.00 0 4
dm-1 0.00 0.00 0.00 0 0
4.系统负载情况
# uptime
12:38:02 up 39 days, 21:14, 2 users, load average: 0.04, 0.03, 0.05
uptime 命令可以用来查看服务器已经运行了多久,当前登录的用户有多少,以及服务器在过去的1分钟、5分钟、15分钟的系统平均负载值。
那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中的平均进程数。如果每个CPU内核的当前活动进程数不大于3的话,那么系统的性能是良好的。如果每个CPU内核的任务数大于5,那么这台机器的性能有严重问题。如果你的linux主机是1个双核CPU的话,当Load Average 为6的时候说明机器已经被充分使用了。
5.查看是否有僵死进程
select spid from v$process where addr not in (select paddr from v$session);
6.检查缓冲区命中率
SELECT a.VALUE + b.VALUE logical_reads,
c.VALUE phys_reads,
round(100 * (1 - c.value / (a.value + b.value)), 4) hit_ratio
FROM v$sysstat a, v$sysstat b, v$sysstat c
WHERE a.NAME = 'db block gets'
AND b.NAME = 'consistent gets'
AND c.NAME = 'physical reads';
如果命中率低于90%则需加大数据库参数db_cache_size。
7.检查共享池命中率
select sum(pinhits) / sum(pins) * 100 from v$librarycache;
如低于95%,则需要调整应用程序使用绑定变量,或者调整数据库参数shared pool的大小。
8.检查排序区
select name,value from v$sysstat where name like '%sort%';
如果disk/(memoty+row)的比例过高,则需要调整sort_area_size(workarea_size_policy=false)或pga_aggregate_target(workarea_size_policy=true)。
9.检查日志缓冲区
select name,value from v$sysstat where name in ('redo entries','redo buffer allocation retries');
如果redo buffer allocation retries/redo entries超过1%,则需要增大log_buffer。
相关推荐
- 教学楼里那种嵌着小石子的水磨石地面,是怎么整出来的? | 有趣的制造
-
今天的选题是之前小可爱「花凉」在后台发消息问的~看过以后念念不忘,满脑子都是小时候在教学楼冰冷地面上摔的跤,记不起来是不是在这种地面上磕掉的门牙...昨天发了预告后,有小可爱纷纷表示「就是这种地板,像...
- 教学楼里那种嵌着小石子的水磨石地面,是怎么整出来的?
-
话说有多少小可爱不想学习时,没事数着水磨石地面的小石子玩,然后互相评比哪颗石子最好看。到头来书又没有背完,课也没好好上,就怪地板有迷幻效果,扰乱了好好学习的坚定意志。(小编觉得即使换成瓷砖,你们也可能...
- 性能调优实战:Spring Boot 多线程处理SQL IN语句大量值的优化方案
-
环境:SpringBoot3.4.0...
- RMAN备份监控及优化总结(rman全备份)
-
今天主要介绍一下如何对RMAN备份监控及优化,这里就不讲rman备份的一些原理了,仅供参考。一、监控RMAN备份1、确定备份源与备份设备的最大速度从磁盘读的速度和磁带写的带度、备份的速度不可能超出这两...
- 记Oracle中快速获取表及其各个字段注释的方法
-
简述java开发中,用过JPA的道友应该知道,我们可以通过写java代码自动生成对应的数据表;但这有个问题是,列名的注释并没有帮我们一起添加到数据库去,尤其在一些开发测试生产三个环境隔离的,就很不友好...
- Oracle 数据库日常巡检之检查数据库cpu、I/O、内存性能
-
记录数据库的cpu使用、IO、内存等使用情况,使用vmstat,iostat,sar,top等命令进行信息收集并检查这些信息,判断资源使用情况。1.CPU使用情况:...
- Oracle案例:ORA-00600: internal error code, arguments: 「4187」
-
本案例客户来自某省电信,alert日志大量的ORA-00600[4187]报错,已经影响到业务正常运行。...
- MySQL索引失效的10大陷阱:从隐式类型转换到索引选择性全面优化
-
索引是MySQL性能优化的核心武器,但错误的使用场景可能让索引完全失效,导致查询性能断崖式下降。本文通过实际案例,深入剖析索引失效的典型场景及其底层原理,并提供可落地的解决方案。一、索引失效的核心原...
- oracle查询语句执行计划分析(oracle如何查看sql执行计划)
-
1命令行开启配置#显示查询结果setautotraceon#不显示查询结果setautotracetraceonly2执行查询语句...
- 面试官:说说Oracle数据库result cache的原理是什么?
-
概述前面已经用实验给大家介绍了ResultCache相关内容,今天主要讨论一下Oracle11gResultCache的深层原理。从参数看,Oracle提供了ClientResultCac...
- Oracle817 export 时ORA-06553和ORA-00904处理
-
现象:数据库版本8.1.7...
- Oracle案例:一次gc buffer busy acquire诊断
-
本案例来自某客户两节点rac的一次生产故障,现象是大面积的gcbufferbusyacquire导致业务瘫痪。...
- 说文解字:“雪”字本身在造字时就很浪漫!
-
这是雪山的“雪”字。可是你知道吗?“雪”这个字其实和“山”是没有任何关系的。这个字下半部分“彐”并不是一座翻倒的山,而是一只手的意思。(凡是带“彐”的汉字,其实都和手有关。)“雪”字的商代甲骨文形状,...
- 应用最广的两类数据库的区别、优势对比、查询优化方法及案例实践
-
1、通用数据库分类 1.1关系型数据库 关系型数据库是多个二维数据表的集合,数据以二维数据表的形式进行存储,数据表之间可以通过应用程序或者数据的主、外键建立特定的关联关系,让数据之间存在特定的...
- 【SQL】SQL 语法差异大全(PgSQL/MySQL/Oracle/TiDB/OceanBase)
-
以下是针对不同数据库系统的SQL语法差异总结,按功能分类展示:一、基础查询1.分页查询...
- 一周热门
- 最近发表
-
- 教学楼里那种嵌着小石子的水磨石地面,是怎么整出来的? | 有趣的制造
- 教学楼里那种嵌着小石子的水磨石地面,是怎么整出来的?
- 性能调优实战:Spring Boot 多线程处理SQL IN语句大量值的优化方案
- RMAN备份监控及优化总结(rman全备份)
- 记Oracle中快速获取表及其各个字段注释的方法
- Oracle 数据库日常巡检之检查数据库cpu、I/O、内存性能
- Oracle案例:ORA-00600: internal error code, arguments: 「4187」
- MySQL索引失效的10大陷阱:从隐式类型转换到索引选择性全面优化
- oracle查询语句执行计划分析(oracle如何查看sql执行计划)
- 面试官:说说Oracle数据库result cache的原理是什么?
- 标签列表
-
- mydisktest_v298 (34)
- document.appendchild (35)
- 头像打包下载 (61)
- acmecadconverter_8.52绿色版 (39)
- word文档批量处理大师破解版 (36)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- parsevideo (33)
- 个人网站源码 (37)
- centos7.4下载 (33)
- mysql 查询今天的数据 (34)
- intouch2014r2sp1永久授权 (36)
- 先锋影音源资2019 (35)
- jdk1.8.0_191下载 (33)
- axure9注册码 (33)
- pts/1 (33)
- spire.pdf 破解版 (35)
- shiro jwt (35)
- sklearn中文手册pdf (35)
- itextsharp使用手册 (33)
- 凯立德2012夏季版懒人包 (34)
- 冒险岛代码查询器 (34)
- 128*128png图片 (34)
- jdk1.8.0_131下载 (34)
- dos 删除目录下所有子目录及文件 (36)