![Postgres 活动未显示磁盘读取指标](https://linux22.com/image/774076/Postgres%20%E6%B4%BB%E5%8A%A8%E6%9C%AA%E6%98%BE%E7%A4%BA%E7%A3%81%E7%9B%98%E8%AF%BB%E5%8F%96%E6%8C%87%E6%A0%87.png)
我早就注意到 ESXI 没有显示我的 Ubuntu Postgres 数据库服务器的磁盘读取活动。我想也许这只是 ESXI 的一个奇怪的错误,因为它会显示磁盘写入活动。
我决定安装 Zabbix,看看是否可以用它来监控磁盘读取活动,但同样的情况是,在非常繁重的 DB 读取活动下,磁盘读取率为 0。不接近零,也不低。但绝对是 0。
我意识到,如果我打开一个大文件来传输数据库服务器的文件,我确实会看到磁盘读取活动。所以只有 Postgres 读取没有显示。
Postgres 是否有某种方法能够“绕过”操作系统,从而无法查看\报告磁盘读取使用情况?
编辑:我看到的唯一写入活动也完全可能是存档文件,而不是表写入。
答案1
事实证明,问题并不在于 Postgres 缓存数据,而在于操作系统本身。由于有 12GB 可用内存,并且机器上没有其他进程,Linux 将大多数数据库文件缓存在内存中。之后清理内存它立即通过 pg_dump 显示磁盘使用率很高