ITPub博客

首页 > 数据库 > > 硬件瓶颈点分析-内存

硬件瓶颈点分析-内存

作者:GaussDB_数据库 时间:2020-01-14 16:34:37 0 删除 编辑

通过top命令或Database Manager工具查看集群内各节点内存使用情况,分析是否存在由于内存占用率过高导致的性能瓶颈。

查看内存状况

查询服务器内存的使用情况主要有以下两种方式:

  • 在所有存储节点,逐一使用root用户执行top命令,查看内存占用情况。执行该命令后,按“Shift+M”键,可按照内存大小排序。
    top - 11:27:04 up 23 days,  1:15,  4 users,  load average: 1.43, 0.53, 0.56
    Tasks: 437 total, 2 running, 435 sleeping, 0 stopped, 0 zombie
    Cpu(s): 16.6%us, 2.2%sy, 0.0%ni, 80.7%id, 0.0%wa, 0.0%hi, 0.4%si, 0.0%st
    Mem: 96717M total, 23777M used, 72940M free, 69M buffers
    Swap: 16394M total, 9M used, 16385M free, 18177M cached
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    1496 omm 20 0 9.9g 1.6g 1.3g S 177 1.7 0:49.57 gaussdb
    1490 omm 20 0 9.9g 1.6g 1.3g S 140 1.7 0:43.88 gaussdb
    1493 omm 20 0 9.9g 1.6g 1.3g S 123 1.7 0:42.77 gaussdb
    1499 omm 20 0 9.9g 1.6g 1.3g S 120 1.7 0:42.77 gaussdb
    2111 omm 20 0 9917m 1.5g 1.3g S 0 1.6 0:01.95 gaussdb
    2115 omm 20 0 9917m 1.5g 1.3g S 0 1.6 0:01.91 gaussdb
    2123 omm 20 0 9917m 1.5g 1.3g S 0 1.6 0:01.91 gaussdb
    2119 omm 20 0 9917m 1.5g 1.3g S 0 1.6 0:01.91 gaussdb
    1508 omm 20 0 1527m 1.3g 1.0g S 0 1.4 0:02.36 gaussdb
    1502 omm 20 0 1527m 1.3g 1.0g S 0 1.4 0:02.12 gaussdb
    1505 omm 20 0 1527m 1.3g 1.0g S 0 1.4 0:02.29 gaussdb
    1511 omm 20 0 1527m 1.3g 1.0g S 0 1.4 0:02.23 gaussdb
    1487 omm 20 0 2499m 1.3g 1.1g S 0 1.4 0:01.95 gaussdb

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

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

    • total:物理内存总量。
    • used:已使用的物理内存总量。
    • free:空闲内存总量。
    • buffers:进程使用的虚拟内存总量。
    • %MEM:进程占用的内存百分比。
    • VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES。
    • SWAP:进程使用的虚拟内存中已被换出到交换分区的量。
    • RES:进程使用的虚拟内存中未被换出的量。
    • SHR:共享内存大小。
  • Database Manager工具支持对集群或者单个节点进行监控。

    在“集群资源监控”页面上专门有对内存使用情况监控的界面。

性能参数分析

  1. 以root用户执行“free”命令查看cache的占用情况。
    free
    查询结果如下所示:
    total       used       free     shared    buffers     cached
    Mem: 8038844 6336184 1702660 375896 2880912
    -/+ buffers/cache: 3079376 4959468
    Swap: 4192924 4192924

  2. 若“cache”占用过高,请执行如下命令开启自动清除缓存功能。
    ${BIGDATA_HOME}/FusionInsight_MPPDB_6.5.1/install/FusionInsight-MPPDB-6.5.1/package/MPPDB/sudo/run_drop_cache.sh
    若用户内存占用过高,需查看执行计划,重点分析以下内容。
    • 是否完全下推。
    • 是否存在对数据量大的表执行broadcast。
    • 是否有不合理的join顺序。例如,多表关联时,执行计划中优先关联的两表的中间结果集比较大,导致最终执行代价比较大。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3130865/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19228