2013-07-22 90 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