pg SHOW shared_buffers 128M

发布时间:2026/7/31 9:53:36
pg SHOW shared_buffers 128M 运行了SHOW shared_buffers;命令返回的结果是128MB。结合你之前服务器总内存为7.288 GiB的情况这个数值设置得偏小了。我们来具体分析一下 当前设置分析占比过低128MB仅占你总物理内存~7.3GB的不到 2%。性能瓶颈风险shared_buffers是 PostgreSQL 最重要的性能参数之一用于缓存数据页和索引页。如果它太小数据库会频繁地从磁盘读取数据导致查询响应变慢尤其是在数据量较大时。 调优建议对于专用数据库服务器内存主要给 PostgreSQL 用官方建议通常将shared_buffers设为系统总内存的25% ~ 40%。保守方案推荐设为2GB约占总内存 27%。激进方案设为3GB约占总内存 41%。考虑到你还有操作系统和其他进程建议你先设置为2GB试试看。 如何修改两种方法方法一通过 SQL 命令修改临时生效重启数据库后失效适合快速测试效果不需要重启整个数据库服务。sqlALTER SYSTEM SET shared_buffers 2GB; SELECT pg_reload_conf(); -- 重新加载配置使部分参数生效注意shared_buffers这个参数比较特殊修改后必须重启整个 PostgreSQL 服务才能完全生效pg_reload_conf()对它无效。所以这个方法其实没法立即生效还是要重启服务。方法二修改配置文件永久生效需要重启找到postgresql.conf文件通常在/etc/postgresql/*/main/或/var/lib/pgsql/data/下。修改或添加一行inishared_buffers 2GB重启 PostgreSQL 服务使配置生效bashsudo systemctl restart postgresql # Linux 系统 # 或者如果是 Docker 容器需要 restart 容器⚠️ 重要提醒重启影响修改该参数需要重启服务会导致短暂的连接中断请务必在业务低峰期操作。配套参数调整shared_buffers后建议同时调整effective_cache_size。这个参数用于告诉优化器操作系统有多少内存可用于文件缓存建议设为总内存的 50%~70%即4GB ~ 5GB。它不需要重启执行SET effective_cache_size 4GB;并写入配置文件即可。如果你使用的是Docker 容器修改方式稍有不同需要挂载配置文件或通过-c参数启动需要我针对你的部署方式给出具体步骤吗