我们使用Redhat 6.3和30G RAM托管我们的Postgres服务器。
(默认值) shmmax为68,719,476,736。
在一些论坛中,我读到shmmax值大于RAM会导致大量分页,但在Redhat论坛中,它警告不要更改已配置为大于环境最低要求的内核参数。
在ServerFault中,我读到这可能没有任何影响。
因此,在DB服务器中使用shmmax值> RAM是否有任何影响,或者内核理解它并适当地处理它?
谢谢
发布于 2013-11-12 21:49:53
使用SHMMAX >物理内存没有实际意义,除非您实际开始使用该RAM。请注意,如果您开始分配比您的系统可用RAM更多的共享内存,您的系统将交换内存(就像任何其他过度分配RAM的时间一样),这无疑是一个性能杀手。
注意,在最近版本的Postgres (9.3.0及以后)中,Postgres使用POSIX共享内存& mmap(),这减少了对System共享内存的需求。
如果升级到Postgres9.3,那么可能可以完全避免优化SHMMAX / SHMALL参数,除非您有一个不寻常的环境(比如在一台机器上运行几十个Postgres集群)。
https://serverfault.com/questions/506112
复制相似问题