开发者社区> 问答> 正文

1 我线上做了一个从库,60G内存,10G bufferpool,只有pg运行。Cache和Memo

1 我线上做了一个从库,60G内存,10G bufferpool,只有pg运行。Cache和MemoryContext的占用 这部分消耗最多。

2 我改了查询,去掉了json之类的字段,还是会oom 。

3 100/20个都会oom,我现在开2个并发就不会了,,也没有复杂的sql,PlanCache这一部分消耗不能自由的控制吗?

提问10.png

展开
收起
云上静思 2022-07-19 10:35:35 439 0
1 条回答
写回答
取消 提交回答
  • 用jemalloc/tcmalloc重编一次,看看内存在啥上下文申请的,另外先确定是shared memory还是private mrmory,可以看下/proc/pid/smaps确认下细节。

    这个命令可以多执行几次,目前看是在读取新的sql,是已经停止业务了吗?如果没有停止,多执行几次可能获取有用信息。另外可以用dmesg命令看下OOM时的情况。或者attach到问题进程,执行p MemoryContextStats(TopMemoryContext),看下更详细的内存占用情况。

    此答案来自钉钉群“PG|POLARDB技术进阶”

    2022-07-19 10:40:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
内存取证与IaaS云平台恶意行 为的安全监控 立即下载
云服务器ECS内存增强型实例re6全新发布 立即下载
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载