进程私用内存区的内存分配讲得挺细,尤其是对 PostgreSQL 架构里各个缓冲区的解释,算是讲清楚了你平常调参数时候那些奇奇怪怪的名字。比如 shared_bufferswork_mem 这些,咋设置、为啥设置、设大了是爽还是坑,全都给你摆明白了。

比较适合你在优化数据库性能的时候,拿来参考参考,看看你是不是把 temp_buffers 开得太小了,或者 maintenance_work_mem 根本没动过。嗯,最妙的是它连 共享内存区 跟进程私有内存的关系也画了图,逻辑清晰,读起来不费劲。

如果你以前没太研究过 PostgreSQL 的内存分布,这份 PPT 就挺适合你拿来入门。它不像文档啰嗦,也不搞花哨,属于那种“我直接告诉你该怎么调”的风格,蛮接地气的。

另外,它还顺带整理了不少相关技术的资料,比如你想对比下 OracleDB2 怎么搞内存的,也能直接跳过去看看,懒得找文档的话挺省事。链接我给你放下面了,想点哪个你自己挑。

如果你最近正好在排查数据库慢、执行计划不对的问题,可以花 10 分钟看看,灵感就来了。