我有 postgresql(主从)基础设施。postgresql 服务器有 32 GB RAM 和 600 MB 交换空间。我们正在使用 java(tomcat) 应用程序。我已经使用http://pgtune.leopard.in.ua/执行了 postgresql 调优。但目前我的问题是,我的 postgresql 服务器缓存和交换内存会定期增加,并且在某些时候我们被迫清除缓存或重新启动 postgresql。能否请您告诉我背后的原因。以下是我的性能调整参数。其余参数为默认值。此外,我们正在使用 pgbarman 进行在其他服务器上配置的时间点备份。
postgresql.conf
===============
max_connections = 300
shared_buffers = 8GB
effective_cache_size = 24GB
work_mem = 27962kB
maintenance_work_mem = 2GB
checkpoint_segments = 32
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
/etc/sysctl.conf
================
kernel.shmmax=17179869184
kernel.shmall=4194304