在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
分析慢查询,避免复杂子查询,合理使用索引。调整参数时需根据服务器实际内存和负载逐步测试,避免过度分配导致系统不稳定。