Debian PostgreSQL内存管理可从配置参数、监控优化两方面入手,具体如下:
shared_buffers = 4GB # 示例:服务器内存16GB时设为4GB
work_mem = 128MB
maintenance_work_mem = 1GB
effective_cache_size = 12GB
wal_buffers = 128MB # 假设shared_buffers为4GB
top、htop、free -m查看内存占用情况。pg_stat_activity、pg_stat_statements分析查询内存使用。pgBadger生成内存使用报告。max_connections控制并发连接,避免内存耗尽,可搭配PgBouncer使用。vm.swappiness(如设为10),减少内存换页。VACUUM和ANALYZE清理数据、更新统计信息。修改配置后需重启PostgreSQL服务生效:
sudo systemctl restart postgresql
参数需根据服务器硬件(内存大小、CPU核心数)和业务负载(查询复杂度、并发量)调整,建议通过pgbench等工具测试性能后优化。