目录
vmtouch简介
用法
例子
统计文件或者目录在缓存中的记录
缓存文件到内存
其他类似工具
vmtouch简介
vmtouch是用c语言编写的文件缓存管理工具,适用用于所有类Unix系统。
作用:
1,查看文件系统缓存情况
2,将文件或目录加载到内存中,提高访问速度,并减少对磁盘的读取操作。
说明:
- 预加载文件或目录到内存中:通过将文件或目录预加载到内存中,可以加快对它们的访问速度,减少读取延迟。
- 管理文件系统缓存:可以使用vmtouch来管理系统的文件系统缓存,将需要频繁访问的文件保持在内存中,以提高系统性能。
- 监控文件访问情况:vmtouch还可以用来监控文件的访问情况,包括文件的读取和写入操作。
用法
- 加载文件或目录到内存中:
vmtouch -vt /path/to/file
这将把文件/path/to/file加载到内存中。 - 查看文件的缓存情况:vmtouch -v /path/to/file
这将显示文件/path/to/file的缓存情况。 - 定期更新缓存:如果你的文件是动态变化的,记得定期更新缓存,以确保缓存的数据是最新的。
vmtouch -vt access.log #将一个文件完全缓存到内存中
vmtouch -ve access.log #删除内存中文件的缓存
vmtouch -dl /var/www/htdocs/critical/ #固化文件到内存缓存,并以启动守护模式
例子
下面的内容主要摘自:https://baijiahao.baidu.com/s?id=1620277671622089657&wfr=spider&for=pc
统计文件或者目录在缓存中的记录
查看文件
cd /var/log/
vmtouch secure
结果如上图,可以大小164K的大小的secure日志文件已经全部被缓存到内存了。
查看目录
vmtouch /var/log
可见该目录22子目录,109文件,8G大小中在内存中缓存了6M,占用了1626个内存页(一个内存也占用4K,大概6G)。
缓存文件到内存
统计access.log中的404行数
没有缓存到内存中的时候,查找语句耗时9s
time grep 404 access.log|sort|wc –l
先缓存到内存中再查找,耗时1.8秒,提速5倍
vmtouch -vt access.log
time grep 404 access.log|sort|wc –l
其他类似工具
perf-tools里面的cachestat
pcstat(page cache stat)