【linux】vmtouch文件缓存管理工具

目录

vmtouch简介

用法

例子

统计文件或者目录在缓存中的记录

缓存文件到内存

其他类似工具


vmtouch简介

vmtouch是用c语言编写的文件缓存管理工具,适用用于所有类Unix系统。

作用:

1,查看文件系统缓存情况

2,将文件或目录加载到内存中,提高访问速度,并减少对磁盘的读取操作。

说明:

  1. 预加载文件或目录到内存中:通过将文件或目录预加载到内存中,可以加快对它们的访问速度,减少读取延迟。
  2. 管理文件系统缓存:可以使用vmtouch来管理系统的文件系统缓存,将需要频繁访问的文件保持在内存中,以提高系统性能。
  3. 监控文件访问情况:vmtouch还可以用来监控文件的访问情况,包括文件的读取和写入操作。

 

用法

 

  1. 加载文件或目录到内存中:
    vmtouch -vt /path/to/file

    这将把文件/path/to/file加载到内存中。
  2. 查看文件的缓存情况:vmtouch -v /path/to/file

    这将显示文件/path/to/file的缓存情况。
  3. 定期更新缓存:如果你的文件是动态变化的,记得定期更新缓存,以确保缓存的数据是最新的。

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)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3030877.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

JUC下CountDownLatch详解

详细介绍 CountDownLatch是Java并发包java.util.concurrent中提供的一个同步工具类,它允许一个或多个线程等待其他线程完成操作后再继续执行。这个工具类基于一个计数器,计数器的初始值可以由构造函数设定。线程调用countDown()方法会将计数器减1&#x…

Spring Framework-简介

Spring Framework Java Spring是一个开源的Java应用框架,它的主要目的是简化企业级应用开发的复杂性。Spring框架为开发者提供了许多基础功能,使得开发者能够更专注于业务逻辑的实现,而不是底层的细节。 主要特点和功能: 控制反…

Java设计模式 _行为型模式_命令模式

一、命令模式 1、命令模式 命令模式(Command Pattern)是一种行为型模式,一种数据驱动的设计模式。命令模式中请求以命令的形式包裹在对象中,即将命令封装为类,从而可以使用不同的请求,队列等操作具体的对象…

基于STM32移植lvgl(V8.2)(SPI接口的LCD)

目录 概述 1 认识LVGL 1.1 LVGL官网 1.2 LVGL库文件下载 2 认识SPI接口型LCD 2.1 PIN引脚定义 2.2 MCU IO与LCD PIN对应关系 3 实现LCD驱动 3.1 使用STM32Cube配置Project 3.2 STM32Cube生成工程 4 移植LVGL 4.1 准备移植文件 4.2 添加lvgl库文件到项目 4.2.1 src下…

信息系统项目管理师0101:项目建议与立项申请(7项目立项管理—7.1项目建议与立项申请)

点击查看专栏目录 文章目录 第七章 项目立项管理7.1项目建议与立项申请1.立项申请概念2.项目建议书内容记忆要点总结第七章 项目立项管理 项目立项管理是对拟规划和实施的项目技术上的先进性、适用性,经济上的合理性、效益性,实施上的可能性、风险性以及社会价值的有效性、可…

今日总结2024/5/10

今日复习01背包,完全背包,多重背包DP,以及多重背包优化 01背包 每个物品只能选一次,可以选或不选 f[i,j]表示选到前i个物品体积不超过j的最大价值 状态转移方程为f[i][j]max(f[i-1][j],f[i-1][j-v[i]]w[i]) 优化空间采用滚动数组,从大到小枚举体积即可 完全背…

14:java基础-Tomcat-Web容器

文章目录 面试题Web 容器是什么?HTTP 的本质 面试题 Web 容器是什么? 让我们先来简单回顾一下 Web 技术的发展历史,可以帮助你理解 Web 容器的由来。早期的 Web 应用主要用于浏览新闻等静态页面,HTTP 服务器(比如Apa…

学习Java的日子 Day45 HTML常用的标签

Day45 HTML 1.掌握常用的标签 1.1 标题标签 h1-h6 <h1>一级标签</h1> <h2>二级标签</h2> <h3>三级标签</h3> <h4>四级标签</h4> <h5>五级标签</h5> <h6>六级标签</h6> 显示特点&#xff1a; * 文字…

【Java难点】多线程-终极【更新中...】

Java内存模型之JMM 为什么需要JMM 计算机存储结构&#xff1a;从本地磁盘到主存到CPU缓存&#xff0c;也就是从硬盘到内存&#xff0c;到CPU。一般对应的程序的操作就是从数据库查数据到内存然后到CPU进行计算。 CPU和物理主内存的速度不一致&#xff0c;所以设置多级缓存&am…

玩游戏专用远程控制软件

玩游戏专用远程控制软件&#xff1a;实现远程游戏的新体验 随着网络技术的不断发展和创新&#xff0c;远程控制软件已经逐渐渗透到我们生活的方方面面&#xff0c;尤其是在游戏领域。玩游戏专用远程控制软件&#xff0c;作为这一趋势下的产物&#xff0c;为玩家提供了全新的游…

“幽灵“再临!新型攻击瞄准英特尔CPU;微软Outlook漏洞被俄利用,网络间谍攻击捷克德国实体 | 安全周报0510

1. 微软Outlook漏洞被俄罗斯APT28利用&#xff0c;捷克德国实体遭网络间谍攻击&#xff01; 捷克和德国于周五透露&#xff0c;他们成为与俄罗斯有关的APT28组织进行的长期网络间谍活动的目标&#xff0c;此举遭到欧洲联盟&#xff08;E.U.&#xff09;、北大西洋公约组织&…

unreal engine4 创建动画蒙太奇

UE4系列文章目录 文章目录 UE4系列文章目录前言一、创建动画蒙太奇 前言 动画蒙太奇的官方解释&#xff1a;Animation Montages are animation assets that enable you to combine animations in a single asset and control playback using Blueprints.You can use Animation…

vue3.x + echarts 5.x + ant-design-vue 4.x + monaco-editor v3 新增版本切换功能

前言 1. 因为vue架构中&#xff0c;大多数包都是通过npm / yarn 等工具直接安转到node_modules 使用 2. 多个版本切换时&#xff0c;不可能全部安装echarts版本 3. 所以思路围绕如何通过cdn动态引入echarts一、添加工具代码 loadScript 路径 utils/loadScript.js export de…

JINGWHALE 量子能量意识进化理论 —— 全息世界

JINGWHALE 对此论文相关未知以及已知概念、定理、公式、图片等内容的感悟、分析、创新、创造等拥有作品著作权。未经 JINGWHALE 授权&#xff0c;禁止转载与商业使用。 人类对于自身的来源充满了好奇心和求知欲望&#xff0c;探索人类起源是人类科学研究和探索的重要领域之一。…

Leetcode—239. 滑动窗口最大值【困难】

2024每日刷题&#xff08;132&#xff09; Leetcode—239. 滑动窗口最大值 算法思想 用vector会超时的&#xff0c;用deque最好&#xff01; 实现代码 class Solution { public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {deque<int> …

免费远程控制软件哪个好用

免费远程控制软件哪个好用 在现今高度信息化的社会&#xff0c;远程控制软件已成为许多用户进行远程办公、技术支持和教育培训的重要工具。市面上有许多免费的远程控制软件&#xff0c;但哪款才是最好用的呢&#xff1f;本文将为您介绍几款热门的免费远程控制软件&#xff0c;…

Babel基础知识及实现埋点插件

目录 前言 AST 遍历 Visitors Paths&#xff08;路径&#xff09; Paths in Visitors&#xff08;存在于访问者中的路径&#xff09; State&#xff08;状态&#xff09; Scopes&#xff08;作用域&#xff09; Bindings&#xff08;绑定&#xff09; API babylo…

【Ajax零基础教程】-----第四课 简单实现

一、XMLHttpRequest对象 通过XMLHttpRequest对象来向服务器发送异步请求&#xff0c;从服务器获取数据。然后用JavaScript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制&#xff0c;它是IE5中首先引入的&#xff0c;是一种支持异步请求的技术。 简单的说&#xff0c;也…

融知财经:期货和现货的区别是什么?哪个风险大?

期货和现货在交易对象等方面存在明显的区别。期货交易是一种衍生金融工具&#xff0c;主要用于价格发现、风险管理和投机&#xff0c;而现货交易则是商品和服务的实际买卖。在选择进行期货交易还是现货交易时&#xff0c;投资者需要根据自己的需求和市场情况来决定。 期货和现货…

(三十九)第 6 章 树和二叉树(二叉树的三叉链表存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrc…