核心參數調整
# 示例:4GB內存設為1GB
sudo nano /etc/postgresql/14/main/postgresql.conf
shared_buffers = '1GB'
內存分配策略優化
autovacuum
并調整autovacuum_work_mem
,控制自動清理內存使用。PARTITION BY
),減少單表內存占用。并發與緩存優化
max_connections
控制并發連接數,避免內存耗盡,建議不超過服務器CPU核心數×2+有效磁盤數。pg_stat_statements
監控慢查詢,優化高內存消耗的SQL語句。工具與自動化
pgtune
工具生成內存配置建議,適配不同硬件環境。VACUUM
和ANALYZE
,避免死元組堆積導致內存碎片。pg_stat_activity
和pg_stat_user_tables
監控內存使用情況,驗證優化效果。參考來源: