网站首页 > 技术文章 正文
记录数据库的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。
猜你喜欢
- 2024-10-22 分享一个很奇怪的oracle19c数据库监听异常
- 2024-10-22 Oracle数据库日常巡检指令 oracle数据库巡检脚本生成报告
- 2024-10-22 oracle数据库知识点汇总(上) oracle数据库快速入门
- 2024-10-22 Mysql\Sql server\Oracle三种数据库实现限制查询结果的语句
- 2024-10-22 数据库笔试面试143——在Oracle中,如何查询数据库的时区?
- 2024-10-22 oracle数据库常用查询语句 oracle查询数据有哪几种方法
- 2024-10-22 Oracle数据库之高级查询一 oracle 数据库查询
- 2024-10-22 详解oracle数据库SCN机制及如何查询SCN号
- 2024-10-22 oracle数据库 oracle数据库迁移到另一个数据库
你 发表评论:
欢迎- 05-30为什么说网上的md5加密解密站都是通过彩虹表解密的?
- 05-30一文读懂md5,md5有什么用,什么是md5加盐
- 05-30Java md5加密解密数据
- 05-30MD5是什么?如何进行MD5校验?
- 05-30专家教你简单又轻松的MD5解密方法,一看就会
- 05-30多学习才能多赚钱之:vscode怎么安装插件
- 05-30VSCode无限画布模式(可能会惊艳到你的一个小功能)
- 05-30VSCode神级Ai插件Cline:从安装到实战【创建微信小程序扫雷】
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)