Performance postgresql缓存和交换内存增加

Performance postgresql缓存和交换内存增加,performance,postgresql,memory,database-tuning,Performance,Postgresql,Memory,Database Tuning,我有postgresql(主从)基础设施。postgresql server有32 GB RAM和600 MB交换空间。我们正在使用java(tomcat)应用程序。我已经使用执行了postgresql调优。但目前我的问题是,我的postgresql server缓存和交换内存周期性地增加,在某一点上,我们被迫清除缓存或重新启动postgresql。你能告诉我背后的原因吗。下面是我的性能调整参数。其余参数为默认值。此外,我们正在使用pgbarman进行时间点备份,该备份在其他服务器上配置 pos

我有postgresql(主从)基础设施。postgresql server有32 GB RAM和600 MB交换空间。我们正在使用java(tomcat)应用程序。我已经使用执行了postgresql调优。但目前我的问题是,我的postgresql server缓存和交换内存周期性地增加,在某一点上,我们被迫清除缓存或重新启动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

你所说的“服务器缓存内存”是什么意思?你是如何测量的?我用free命令检查了buffere+cachng内存。prash@postgresmaster~$free total used free shared buffers cached Mem:326324234640 397632 0 72652 30869084-/+buffers/cache:1292904 31339368 Swap:688124 67164 620960我认为这不是一个真正的问题。如果系统上没有其他运行,您可能希望进程使用内核缓存。问题是在一段时间后(可能在15天后),系统交换空间被填满,系统将出现“内存不足”的情况。是否有任何方法可以专门声明postgres进程的缓冲区内存限制。