【linux】vmtouch文件缓存管理工具
目录
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)
相关文章:
【linux】vmtouch文件缓存管理工具
目录 vmtouch简介 用法 例子 统计文件或者目录在缓存中的记录 缓存文件到内存 其他类似工具 vmtouch简介 vmtouch是用c语言编写的文件缓存管理工具,适用用于所有类Unix系统。 作用: 1,查看文件系统缓存情况 2,将文件或目…...
论文阅读:The Unreasonable Ineffectiveness of the Deeper Layers 层剪枝与模型嫁接的“双生花”
作者实证研究了针对流行的开放式预训练 LLM 系列的简单层修剪策略,发现在不同的 QA 基准上,直到去掉一大部分(最多一半)层(Transformer 架构)后,性能的下降才会降到最低。为了修剪这些模型&…...
Python批量备份华为设备配置到FTP服务器
Excel表格存放交换机信息: 备份文件夹效果图: Windows系统配置计划任务定时执行python脚本: Program/script:C:\Python\python.exe Add arguments (optional): D:\Python_PycharmProjects\JunLan_pythonProje…...
Java虚拟机(JVM)中确保资源及时释放的策略
在Java虚拟机(JVM)中,内存管理主要是通过垃圾回收(Garbage Collection, GC)来自动处理的。Java开发者通常不需要(也不应该)显式地释放对象内存,因为JVM的垃圾回收器会自动处理不再使…...
04-Fortran基础--Fortran数组和矩阵运算
04-Fortran基础--Fortran数组和矩阵运算 fortarn中对数组和矩阵的主要操作和内置运算包括: 数组的声明和初始化:fortarn中可以通过声明和初始化来创建数组。例如: integer :: my_array(3) [1, 2, 3] ! 声明一个包含3个整数的数组并初始化数…...
el-select选项框内容过长
利用popper-class实现选项框内容过长,截取显示功能: <el-select popper-class"popper-class" :popper-append-to-body"false" v-model"value" placeholder"请选择"><el-optionv-for"item in opt…...
K8S面试题学习5
参考K8S面试题(史上最全 持续更新)_kubernetes常见面试题-CSDN博客做的个人总结,规划是每天看10题,thx! 1. 请详述kube-proxy原理? 每个node节点都会运行一个kube-proxy的进程,核心功能是将service的访问…...
字符以及字符串函数
字符以及字符串函数 求字符串长度strlen 长度不受限制的字符串函数strcpystrcatstrcmp 长度受限制的字符串函数strncpystrncatstrncmp 字符串查找strstrstrtok 错误信息报告strerror 字符分类函数字符转换函数tolowertoupper 内存操作函数memcpymemmovememcmpmemset 这篇文章注…...
记录解决问题--redis ssl连接
1.问题场景 springboot连接redis启动报错,感觉是没连上redis,本地是正常启动的,但是本地不是ssl连接。 2.redis ssl连接知识 ①一般不开启ssl的连接,直接连接即可,有密码输密码。 ②不受信的ssl连接,也就…...
买卖股票的最佳时机
dp[i][0] 表示第i天持有股票所得最多现金,相当于买的价格最低,卖的价格最高 持有股票状态为0,不持有为1 用二维数组表示天数和是否持有, i-1天就持有,或者第i天买入 class Solution {public int maxProfit(int[] p…...
Linux部署安装
Linux部署安装 Linux中有两种软件安装包 一、源码包 软件的源代码是软件的原始数据,但是源代码不能直接在计算机中直接运行安装。 需要通过编译将源代码转换为计算机可以识别的机器语言,之后才可以进行安装。 源码包安装的方式可以在安装过程中发根据…...
docker搭建mysql集群实现主从复制
前言 随着业务的增长,一台数据服务器已经满足不了需求了,负载过重。这个时候就需要减压了,实现负载均衡和读写分离,一主一丛或一主多从。 主服务器只负责写,而从服务器只负责读,从而提高了效率减轻压力。 …...
Neo4j 之安装和 CQL 基本命令学习
正常使用结构化的查询语言 SQL(Structured Query Language)较多一些,但是像 Neo4j 这种非结构化的图形数据库来说,就不得不学习下 CQL(Cypher Query Language)语言了。如果你之前学过 《离散数学》或《图论…...
【全开源】JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP
功能介绍 球厅端:球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端:我的页面,数据统计、订单详情、保证金、实名认证、服务管理、紧急求助、签到功能 用户端:精准分类、我的助教…...
机器学习-如何为模型选择评估指标?
为机器学习模型选择评估指标是一个关键步骤,因为它直接关联到如何衡量模型的性能。以下是选择评估指标的一些建议: 1、理解问题类型: 分类问题:对于二分类问题,常见的评估指标包括准确率、精确率、召回率、F1分数、R…...
【AutoGPT】踩坑帖(follow李鱼皮)
本文写于2024年5月7日 参考视频:AutoGPT傻瓜式使用教程真实体验! 对应文章:炸裂的AutoGPT,帮我做了个网站! 平台:GitPod 云托管服务 原仓库已经改动很大,应使用的Repo为:Auto-GPT-ZH…...
机器学习-L1正则/L2正则
机器学习-L1正则/L2正则 目录 1.L1正则 2.L2正则 3.结合 1.L1正则 L1正则是一种用来约束模型参数的技术,常用于机器学习和统计建模中,特别是在处理特征选择问题时非常有用。 想象一下,你在装备行囊准备去旅行,但你的行囊有一…...
Linux——socket编程之tcp通信
前言 前面我们学习socket的udp通信,了解到了socket的概念与udp的实现方法,今天我们来学习一下面向连接的tcp通信。 一、tcp套接字创建 UDP和TCP都是通过套接字(socket)来实现通信的,因此TCP也得使用socket()接口创建…...
HTTP协议介绍
文章目录 http协议http协议格式GET请求POST请求http客户端实现 http协议 http协议是应用层协议,一般建立在tcp协议的基础之上(当然你的实现非要基于udp也是可以的),也就是说http协议的数据收发是通过tcp协议的。 http协议也分为h…...
elasticsearch安装配置注意事项
安装Elasticsearch时,需要注意以下几个重要事项: 1、版本选择:选择与你系统和其他组件(如Logstash、Kibana)兼容的Elasticsearch版本。 2、Java环境:Elasticsearch是基于Java构建的,因此确保已…...
python汽车4s店的汽车租赁服务管理系统vue
目录功能模块分析租赁服务核心功能技术实现要点扩展功能建议项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作功能模块分析 用户管理模块 用户注册与登录:支持手机号、邮箱注册,集成短信验证码功能。权限…...
gitru:一个由 Rust 打造的零依赖 Git 提交信息校验工具
gitru 基于 Git 的 commit-msg Hook 实现,用于在提交阶段自动校验提交信息格式。 在团队协作开发中,规范的 Git 提交信息是代码追溯、版本管理、自动生成变更日志的基础。 但现实往往是: 人工约束容易遗漏手动配置 Hook 繁琐提交信息格式随心…...
避坑指南:使用OverPy API获取OSM路网数据时常见的5个错误及解决方法
OverPy API实战避坑指南:5个高频错误与专业解决方案 当开发者第一次接触OverPy API与OpenStreetMap数据时,往往会陷入一些看似简单却影响深远的陷阱。我曾在一个城市交通分析项目中连续三天被边界框坐标顺序问题困扰,直到发现查询结果中道路片…...
如何在1小时内掌握TinySAM:从零开始构建高效图像分割模型
如何在1小时内掌握TinySAM:从零开始构建高效图像分割模型 【免费下载链接】TinySAM 项目地址: https://gitcode.com/gh_mirrors/ti/TinySAM 想象一下,你需要在移动设备上实时分割图像中的任意物体,但传统模型动辄几百兆,运…...
linq2db性能基准测试:为什么它比Entity Framework更快
linq2db性能基准测试:为什么它比Entity Framework更快 【免费下载链接】linq2db inq2db/linq2db: 是一个轻量级的 ORM(对象关系映射)库,它可以使开发人员使用 LINQ 语法查询和操作关系数据库。适合用于 .NET 应用程序中的关系数据…...
实时风控延迟突增2300ms?揭秘Python部署中被低估的asyncio事件循环阻塞陷阱
第一章:实时风控延迟突增2300ms?揭秘Python部署中被低估的asyncio事件循环阻塞陷阱在某次线上实时风控服务发布后,P99延迟从平均120ms骤升至2420ms,监控图表呈现尖锐毛刺。排查发现,问题并非源于模型推理或数据库慢查询…...
Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取
Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取 1. 模型概述与核心能力 1.1 Qwen2.5系列模型简介 Qwen2.5是通义千问大模型系列的最新版本,提供了从0.5B到72B不同参数规模的预训练和指令调优模型。相比前代Qwen2,这个版本…...
马年开始杂谈补
总感觉时间越过越快,是不是年纪大了。马年春节9天假期,历史上最长春节,一眨眼就过去了。今年刚开始就发生了很多事,不知福祸。首先是人工智能发展迅速,各种智能体开始出现。美以伊战争,油价狂飙。到了3月&a…...
3大创新方法构建AI训练数据集:老照片修复实战指南
3大创新方法构建AI训练数据集:老照片修复实战指南 【免费下载链接】Bringing-Old-Photos-Back-to-Life Bringing Old Photo Back to Life (CVPR 2020 oral) 项目地址: https://gitcode.com/gh_mirrors/br/Bringing-Old-Photos-Back-to-Life 老照片修复AI项目…...
使用MedGemma 1.5构建医疗知识问答社区的实践
使用MedGemma 1.5构建医疗知识问答社区的实践 1. 引言 医疗行业每天产生海量的专业知识和临床数据,但医生和医学研究者往往难以快速获取精准的医疗信息。传统的医疗知识检索方式效率低下,专业门槛高,让很多医疗工作者在紧急情况下无法及时获…...
