在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分析慢查詢,避免復雜子查詢,合理使用索引。調整參數時需根據服務器實際內存和負載逐步測試,避免過度分配導致系統不穩定。