在Debian下控制PostgreSQL内存使用可从配置参数、监控工具和系统优化三方面入手,具体如下:
调整关键配置参数
shared_buffers = 4GB(服务器内存16GB时)。总内存/(max_connections*2),如work_mem = 64MB(并发连接100时)。maintenance_work_mem = 1GB。effective_cache_size = 12GB。监控内存使用情况
top、htop、free -m查看内存占用。pg_stat_activity(查看活动连接)、pg_stat_statements(分析查询内存消耗)。pgBadger生成内存使用报告,pgAdmin可视化监控。其他优化建议
vm.swappiness(建议设为10-30),降低内存换页频率。EXPLAIN分析慢查询,避免复杂子查询,合理使用索引。调整参数时需根据服务器实际内存和负载逐步测试,避免过度分配导致系统不稳定。