如何判断文件系统缓存中有多少是热的(频繁访问的)?
用例将确定您何时接近内存极限,但在您真正达到极限之前(并看到页面错误激增)
本质上你如何区分:
1
一台拥有 4GB 内存的机器,几乎所有内存都用于文件缓存,但一个进程实际上只是反复访问同一个 100MB 文件,其余文件在很长一段时间内被加载并且从未再次访问(但仍然缓存在内存中,因为没有驱逐它的压力)
对比
2
一台拥有 4GB 内存的机器,正在反复访问其中的 3.9GB(并且即将导致页面错误)
答案1
我会:
- 拍摄内存交换使用情况的快照
使用以下方法删除缓存:
同步;回显 3 > /proc/sys/vm/drop_caches
监视接下来缓存的使用方式。
但如果缓存实际上非常热,刷新缓存可能会在短时间内影响性能。