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
等工具测试性能后优化。