云数据库 RDS-内存使用率高问题定位及处理方法:常见问题

时间:2024-09-06 14:25:00

常见问题

Q:使用pg_dump时导出数据时,为什么内存使用率会升高,如何避免出现该问题?

A:使用pg_dump导出数据时,有一个进程会访问目标库中所有的表、索引等对象来获取结构数据,如果访问的表、索引等对象过大,可能会导致 relcache(关系表缓存)、catcache(系统目录表缓存)过大,且无法释放,从而导致存使用率升高,严重时会发生OOM。

建议执行pg_dump任务时:

  1. 不要执行DDL操作。
  2. 监控好慢SQL的指标,出现锁冲突时直接kill掉对应冲突的进程。
  3. 低峰期执行pg_dump任务。
  4. 将shared_buffers、work_mem参数继续降低到当前的1/2或1/4甚至更多,任务结束后回退修改的参数。
  5. 扩大内存规格。
support.huaweicloud.com/usermanual-rds/rds_pg_08_00006.html