oracle ORA-32701 hang分析(二)---hugepage优化
来源:互联网 发布:hbase 修改数据 编辑:程序博客网 时间:2024/05/21 17:26
上次通过巡检发现数据库以下问题:
1. 两个节点间有大量的gc
询问应用侧开发人员, 整个库一共三个用户, UCR、UOP、UQRY, 其中 UCR是所有表的原始创建用户, UOP是UCR用户对应的程序操作用户, UQRY是一个查询用户,有对UCR所有表的查询权限。
应用侧生产程序是通过UOP来连接数据库,对所有的对象有DML的操作。除了我们自己的程序还有第三方程序通过UQRY来查询UCR的表。
重点是UQRY在一节点, UOP在二节点, 这样UCR的表会在两个节点有大量的交叉查询,从而导致GC。因此马上建议应用侧把所有的连接全部首先连接一节点。
修改完毕以后,GC问题解决
2. 内存问题
环境介绍: Linux 6.5 ,八路CPU, 64core ,内存256G
问题点:没有启用Hugepage,其中内存里面PageTable占用32G
free -m 可以看到系统有大量的内存被cached掉。
老库的pagetable占用到了29G!
dqg6ddspt1:~ # grep Page /proc/meminfo
AnonPages: 5079144 kB
PageTables: 29073708 kB
AnonHugePages: 2412544 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
dqg6ddspt1:~ #
dqg6ddspt1:~ # free -m
total used free shared buffers cached
Mem: 258298 122240 136058 0 178 85563
-/+ buffers/cache: 36498 221800
Swap: 32763 0 32763
调整参数如下:
vm.min_free_kbytes = 512000
vm.swappiness = 0
vm.dirty_ratio = 20
vm.vfs_cache_pressure = 200
调整以后需要重启主机。
调整以后系统内存情况如下:
新库的pagetable只占用了128M。
huibuy1[/home/oracle]$grep Page /proc/meminfo
AnonPages: 2297620 kB
PageTables: 128736 kB
AnonHugePages: 0 kB
HugePages_Total: 44036
HugePages_Free: 12544
HugePages_Rsvd: 12541
HugePages_Surp: 0
huibuy1[/home/oracle]$
huibuy1[/home/oracle]$
huibuy1[/home/oracle]$free -m
total used free shared buffers cached
Mem: 258159 94725 163433 0 269 1543
-/+ buffers/cache: 92912 165246
Swap: 32767 0 32767
做完以上调整,运行至今一月有余,内存使用率,连接数,高耗事件等以前的异常情况全部消失。数据库系统运行稳定
0 0
- oracle ORA-32701 hang分析(二)---hugepage优化
- oracle ORA-32701 hang分析(一)
- Oracle Memory Management and HugePage (连载二)
- 一篇分析诊断被"hang"住数据库的资料(Oracle Performance Diagnostic Guide——Hang/Locking)
- Oracle shutdown immediate hang住 现象分析
- linux的hugepage的配置-优化oracle内存
- linux的hugepage的配置-优化oracle内存 .
- linux的hugepage的配置-优化oracle内存 .
- oracle hugepage设置
- dpdk-hugepage源码分析
- Oracle shutdown immediate hang住 现象分析(转至dave的blog)
- 在linux下为oracle开启大页(hugepage)
- Oracle Memory Management and HugePage (连载一)
- 数据库hang优化一则
- Linux HugePage + Oracle 11.2.0.4
- Oracle-性能优化(二)
- hugepage
- Oracle数据库的Hang
- Java泛型入门
- scala数组
- 树的链式实现
- Java多线程五:后台线程
- 无事
- oracle ORA-32701 hang分析(二)---hugepage优化
- Linux c==进程通信--无名管道(2)
- 20161024的考试】noip模拟,dp,区间中位数,值域分块
- leetcode29_Divide Two Integers
- 套接字通信中的IO的select模式
- UML类图几种关系的总结
- c语言基础知识回顾1
- Java多线程六:线程优先级和yield()让步函数
- 《图解HTTP》笔记——HTTP报文内的HTTP信息(第三章)