使用PostgreSQL时内存溢出问题解决
时间:2023-05-06 16:07:00
#查看当前预读大小
blockdev --getra /dev/vda
#设置预读大小 ,409612bytes
blockdev --setra 81920 /dev/sda3
注:上述命令在服务器重启后无效,因此如果您想永久生效,/etc/rc.local 启动自启动脚本。
优化和调整数据库设置和表的结构
注意以下参数的设置:
1、 shared_buffers 使用整体1/4
2、 wal_buffers 约1/32
3、 270 * max_locks_per_transaction * (max_connections max_prepared_transactions) bytes
4、 Autovacuum_max_workers * maintenance_work_mem (如果没有特殊设置,可以视为644MB)
5. 改变表结构,添加索引估计数量* maintenance_work_mem
6 、 MAX_connections * max_workers