ITPub博客

首页 > 数据库 > 数据库开发技术 > openGauss学习笔记-217 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-内存

openGauss学习笔记-217 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-内存

原创 数据库开发技术 作者:shuchaoyang 时间:2023-11-09 07:00:00 0 删除 编辑

openGauss学习笔记-217 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-内存217.1 查看内存状况217.2 性能参数分析

openGauss学习笔记-217 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-内存

获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源是否已被充分利用,是否存在瓶颈点。

通过top命令查看openGauss节点内存使用情况,分析是否存在由于内存占用率过高导致的性能瓶颈。

217.1 查看内存状况

查询服务器内存的使用情况主要通过以下方式:

执行top命令,查看内存占用情况。执行该命令后,按“Shift+M”键,可按照内存大小排序。

top - 11:38:26 up 2 days, 17:59, 10 users,  load average: 0.01, 0.05, 0.15
Tasks: 685 total,   1 running, 684 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 19740646+total, 23503420 free, 15947100 used, 15795595+buff/cache
KiB Swap:  8242172 total, 8242172 free,       0 used. 13366219+avail Mem

PID USER PR NI   VIRT   RES   SHR S %CPU %MEM     TIME+ COMMAND
29838 omm 20   0 1373104 456904 175248 S   3.6 0.2 98:53.16 gaussdb
27789 omm 20   0 150732   4136   3216 S   0.0 0.0   0:00.00 gsql
45659 omm 20   0 117164   4052   1860 S   0.0 0.0   0:00.24 bash
8087 omm 20   0 117164   4000   1848 S   0.0 0.0   0:00.05 bash
27459 omm 20   0 117160   4000   1848 S   0.0 0.0   0:00.04 bash
33619 omm 20   0 117120   3852   1740 S   0.0 0.0   0:00.04 bash
27282 omm 20   0 117120   3840   1728 S   0.0 0.0   0:00.03 bash
9923 omm 20   0 158064   2932   1612 R   0.3 0.0   0:00.04 top

分析时,请主要关注gaussdb进程占用的内存百分比(%MEM)、整系统的剩余内存。

显示信息中的主要属性解释如下:

  • total:物理内存总量。

  • used:已使用的物理内存总量。

  • free:空闲内存总量。

  • buffers:进程使用的虚拟内存总量。

  • %MEM:进程占用的内存百分比。

  • VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES。

  • SWAP:进程使用的虚拟内存中已被换出到交换分区的量。

  • RES:进程使用的虚拟内存中未被换出的量。

  • SHR:共享内存大小。

217.2 性能参数分析

1、以root用户执行“free”命令查看cache的占用情况。

free

查询结果如下所示:

             total       used       free     shared    buffers     cached
Mem:       8038844   6336184   1702660         0     375896   2880912
-/+ buffers/cache:   3079376   4959468
Swap:     4192924         0   4192924

2、若“cache”占用过高,请执行如下命令开启自动清除缓存功能。

sh openGauss-server/src/bin/scripts/run_drop_cache.sh

其中,openGauss-server为仓库代码,下载地址:https://gitee.com/opengauss/openGauss-server.git

3、若用户内存占用过高,需查看执行计划,重点分析以下内容。

是否有不合理的join顺序。例如,多表关联时,执行计划中优先关联的两表的中间结果集比较大,导致最终执行代价比较大。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!


PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我吧!


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303660