云数据库 RDS-内存使用率高问题定位及处理方法:内存使用率说明
内存使用率说明
PostgreSQL数据库中内存使用率主要是由共享内存和本地内存组成。
- 共享内存:主要用于数据的缓冲区、wal日志的缓冲区等,以便提高读写性能。除此之外也包含一些全局信息,如进程、锁信息等。
shared_buffers参数的值决定初始申请共享内存的大小,RDS for PostgreSQL设置该参数开始值为系统物理内存的25%,该参数合理设置区间为25%~40%,如超过物理内存的 40%,就会发现缓冲的效果并不明显,这是因为PostgreSQL是运行在文件系统之上的,若文件系统也有缓存,将导致双缓存过多,造成负面影响。
- 本地内存:后台服务会申请一些本地内存,以便暂存一些不需要全局存储的数据,一般分为以下几类:
- temp_buffers:设置每个会话用于访问临时表的本地缓冲区的最大块数量。
- work_mem:内部排序聚合操作和hash表在使用临时磁盘文件时使用的内存缓冲区。注意:每个排序操作都会消耗一个work_men内存,并不是一个SQL消耗一个。
- maintenance_work_mem:维护操作使用的最大内存数。
- 文档数据库服务DDS性能调优_MongoDB性能调优_华为云
- GaussDB内存_云数据库GaussDB内存_高斯数据库内存-华为云
- 免费缓存数据库_KV数据库redis场景_云数据库资源免费领取_缓存数据库2
- RDS for MySQL变更实例的CPU和内存规格_CPU和内存_CPU过高_MySQL内存
- 华为云数据库 RDS for MySQL实例规格介绍
- 监控告警_云容器引擎
- 文档数据库服务DDS主备切换_MongoDB主备切换_华为云
- GeminiDB Redis接口_键值数据库_企业级Redis_什么是KV数据库
- 华为云资料 2021年 8月刊
- 如何连接测试服务器数据库_mysql数据库磁盘满了怎么办