开启大页与否对CacheBuffer的影响的学习


背景

最近遇到数据库压力较高的场景.
原厂工程师到位后修改了几个参数(自己以为参数没问题)
然后最近一周环境就比较正常了.
这个地方很打脸, 自己没有进行详细的调查.
分析思考问题的思路和方向出现了问题.
基于这个情况, 自己特别想知道, 为啥修改参数之前内存使用量波动很大
但是关闭了numa 关闭了透明大页 打开了大页之后 内存波动为什么会减少
尤其是 cache buffer 的使用量从很大变成了几乎没有.

验证开启大页与否的情况

不开启大页 使用200个jmeter进程连接数据库 插入简单数据
[oracle@oracle12c ~]$ ipcs -m ------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 连接数 状态
0x00000000 32768 oracle 600 12177408 544
0x00000000 65537 oracle 600 13388218368 272
0x00000000 98306 oracle 600 21377024 272
0xbda99060 131075 oracle 600 32768 272 [oracle@oracle12c ~]$ free -g
total used free shared buff/cache available
Mem: 30 1 14 12 13 15
Swap: 7 0 7 发现shared 尤其是 buff/cache 其实是比较高的.

开启大页同步验证

HugePages_Total:    6410
HugePages_Free: 9
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 13127680 kB
DirectMap4k: 210816 kB
DirectMap2M: 7129088 kB
DirectMap1G: 28311552 kB 然后内存段的相关信息 [root@oracle12c ~]# free -g
total used free shared buff/cache available
Mem: 30 14 14 0 1 15
Swap: 7 0 7
[root@oracle12c ~]# ipcs -m ------------ 共享内存段 --------------
键 shmid 拥有者 权限 字节 连接数 状态
0x00000000 32768 oracle 600 12582912 272
0x00000000 65537 oracle 600 13388218368 272
0x00000000 98306 oracle 600 23068672 272
0xbda99060 131075 oracle 600 32768 272

对比结论

发现开启大页后, Oracle启动起来内存都进入了大页内.
都变成了 used 内存 不像最开始的 不开启大页时 used内存显示较少.
开启大页 13G内存( 12.8G的SGA区域). 不开启大页 1G在用. 同样的, 开启大页启动速度感觉会变慢.
怀疑不开启大页时懒惰式的内存加载.
开启大页是 必须全量申请的内存加载.
开启大页时的启动速度 : 24秒左右
不开启大页时的启动速度: 15秒左右(第二次更快, 第一次刚启动会慢一些) 理论上开启大页的性能会好很多. 通过今天的实验对这一块有了更加深入的认识. 另外发现, 针对共享段的连接数. 每一个新连接都会增加 4个连接数(四个不同的共享段)
增加段大小能够减少类似的连接数, 可以简单计算, 如果段大小为百分之一的SGA区域大小, 那么一个用户要产生 至少103个链接.
(假定除了 Database Buffers 都可以放到一个段内, 但是几乎不现实 )
更多的连接数 肯定会带来类似于 epoll 惊群或者是轮询性能下降的问题. 所以很多参数修改都有他必然的意义. 需要重视.

开启大页与否对CacheBuffer的影响的学习的更多相关文章

  1. 转:// LINUX下为ORACLE数据库设置大页--hugepage

    一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...

  2. [转帖] 学习 Linux 大页的内存知识

    一.在解释什么情况下需要开启大页和为啥需要开启大页前先了解下Linux下页的相关的知识:以下的内容是基于32位的系统,4K的内存页大小做出的计算1)目录表,用来存放页表的位置,共包含1024个目录en ...

  3. Linux大页内存管理等---菜鸟初学

    1. 查看linux的内存情况: free -m 2. 查看是否开启大页的方法: cat /proc/meminfo |grep -i HugePage AnonHugePages: 276480 k ...

  4. OpenStack 高性能虚拟机之大页内存

    目录 文章目录 目录 前文列表 虚拟存储器系统 页式虚拟存储器 大页内存 Linux 的大页内存 大页的实现原理 大页内存配置 透明巨型页 THP 大页面对内存的影响 Nova 虚拟机的大页内存设置 ...

  5. Redis 的大 Key 对持久化有什么影响?

    作者:小林coding 图解计算机基础(操作系统.计算机网络.计算机组成.数据库等)网站:https://xiaolincoding.com 大家好,我是小林. 上周有位读者字节一二面时,被问到:Re ...

  6. 大页内存(HugePages)在通用程序优化中的应用

    今天给大家介绍一种比较新奇的程序性能优化方法-大页内存(HugePages),简单来说就是通过增大操作系统页的大小来减小页表,从而避免快表缺失.这方面的资料比较贫乏,而且网上绝大多数资料都是介绍它在O ...

  7. Transparent HugePages(透明大页)

    Transparent HugePages(透明大页) 1. 介绍 从RedHat6, RedHat7, OL6, OL7 SLES11 and UEK2 kernels开始,透明大页默认是被开启的以 ...

  8. Linux关闭透明大页配置

      一.为何要关闭透明大页 A--MOS获取 . #翻译 由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面. 另外,即使在单实例数据库环境 ...

  9. 大页内存(HugePages)

    原文转载自:http://blog.csdn.net/yutianzuijin/article/details/41912871 今天给大家介绍一种比较新奇的程序性能优化方法—大页内存(HugePag ...

  10. Picasso:开启大前端的未来

    “道生一,一生二,二生三,三生万物.” —— <道德经> Picasso是大众点评移动研发团队自研的高性能跨平台动态化框架,经过两年多的孕育和发展,目前在美团多个事业群已经实现了大规模的应 ...

随机推荐

  1. Redis 使用的 10 个小技巧

    Redis 在当前的技术社区里是非常热门的.从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路. 随之而来的一系列最佳实践,使得大多数人可以正确地 ...

  2. mybatis空格字符替换

    mybatis空格字符替换 <select id="user" resultType="java.util.Map" parameterType=&quo ...

  3. 深入浅出Sqoop之迁移过程源码分析

    [摘要]Sqoop是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 .本文将简单介绍Sqoop作业执行时相关的类及方法,并将该过程与MapReduce的 ...

  4. 618大促,电商企业如何拔得头筹,“敏捷+ DevOps”有话说

    前言 当今企业发展不再以大为目标,而更多追求强和快,因为只有后者才能适应时代变化让企业处以不败之地,我们称这个时代为快鱼吃大鱼的时代,追求快和强也是企业的新形态. 传统行业小到菜场经济,大到航空航天, ...

  5. 【云享·人物】华为云AI高级专家白小龙:AI如何释放应用生产力,向AI工程化前行?

    摘要:AI技术发展,正由应用落地阶段向效率化生产阶段演进,AI工程化能力将会不断深入业务,释放企业生产力. 本文分享自华为云社区<[云享·人物]华为云AI高级专家白小龙:AI如何释放应用生产力, ...

  6. KubeEdge边缘计算在顺丰科技工业物联网中的实践

    摘要:顺丰物联网平台负责人胡典钢为大家带来了 " 边缘计算在工业物联网中的应用实践与思考 " ,阐述了工业物联网的发展背景.整体架构设计以及边缘计算在此过程中承担的重要角色,并梳理 ...

  7. 常遇到读多写少,教你用ReadWriteLock实现一个通用的缓存中心

    摘要:本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存中心. 本文分享自华为云社区<[高并发]原来ReadWriteLock也能开发高性能缓存,看完我也能和面试官好好聊聊了! ...

  8. 破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

    摘要:主要介绍了华为云可信智能计算服务(TICS)采用的纵向联邦逻辑回归(LR)方案. 本文分享自华为云社区<纵向联邦学习场景下的逻辑回归(LR)>,作者: 汽水要加冰. 海量训练数据是人 ...

  9. 一文带你从零认识什么是XLA

    摘要:简要介绍XLA的工作原理以及它在 Pytorch下的使用. 本文分享自华为云社区<XLA优化原理简介>,作者: 拓荒者01. 初识XLA XLA的全称是Accelerated Lin ...

  10. jQuery模糊匹配checkbox全选 value实现checkbox部分或全部全选

    本文章总结jQuery实现checkbox三种情况的全选功能 第一种:等值全选,也称name的等值全选,通过checkbox的名称name实现. 第二种:模糊全选,也称id模糊全选,通过checkbo ...