如何查看並清除Postgres緩存/緩沖區?


轉載自:https://cloud.tencent.com/developer/ask/82721

 

回答1

可以使用pg_buffercache模塊查看PostgreSQL緩沖區緩存中的內容。我做了一個名為“ Inside the PostgreSQL Buffer Cache ” 的演示文稿,解釋你所看到的內容,並展示一些更復雜的查詢來幫助解釋這些信息。

也可以在某些系統上查看操作系統緩存,請參閱pg_osmem.py獲取一個有點粗略的示例。

無法輕松清除緩存。在Linux上,可以停止數據庫服務器並使用drop_caches工具清除OS緩存; 一定要注意那里的警告先運行同步。

 
回答2

我還沒有看到任何命令刷新PostgreSQL中的緩存。你看到的可能只是正常的索引和數據緩存從磁盤讀取並保存在內存中。通過postgresql和操作系統中的緩存。為了擺脫這一切,我知道的唯一方法是:

你應該做的是:

  1. 關閉數據庫服務器(pg_ctl,sudo service postgresql stop等)
  2. echo 3> / proc / sys / vm / drop_caches這將清除OS文件/塊緩存 - 非常重要,但我不知道如何在其他操作系統上執行此操作。
  3. 啟動數據庫服務器
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM