2013-07-22 69 views
2

我正在调整我的PostgreSQL分数effective_cache_size。 PostgreSQL文档引用PostgreSQL缓冲区高速缓存中的预期可用内存,以计算可用于磁盘高速缓存的预期内存。我如何评估这个? shared_buffers是分配给缓冲区缓存的唯一内存吗?估计PostgreSQL缓冲区缓存中有多少内存可用?

回答

3

effective_cache_size代表机器的总内存减去你知道用于除磁盘高速缓存以外的其他内容。

从格雷格史密斯5-Minute Introduction to PostgreSQL Performance

effective_cache_size应该设置多少内存剩余的 磁盘缓存考虑到什么是所使用的操作系统 系统,专用PostgreSQL的内存,和其他应用程序后,

shared_buffers在本句中被认为是“专用的PostgreSQL内存”,但除此之外,它不与相关。

在Linux上,如果你运行free当你的系统是在其典型的内存使用情况(所有应用程序运行,缓存是温暖),该cached场给出了effective_cache_size一个很好的价值。

如果您使用监视工具生成图表,您可以一眼查看缓存大小很长一段时间。

2

专用Postgres服务器的一个典型建议是将effective_cache_size设置为大约可用RAM的3/4。设置理想默认值的一个好工具是pgtune,它可以在这里找到:https://github.com/gregs1104/pgtune