如何查看并清除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