百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

使用hcache排序当前内存中的缓存文件,找出内存缓存大户

bigegpt 2024-08-10 12:05 9 浏览


在内存告警中,经常会遇到系统OOM,登陆服务器查看大部分内存是被cache 使用了。

通过cat /proc/meminfo 或者free命令我也只能看出内存大部分是被buff/cache,至于是哪些程序占用了,毫无头绪。所以需要一个工具能帮助我去查看下当前系统环境下内存缓存的使用情况,最好能做个排序,从而一目了然知道缓存文件大户。

答案是 hcache - a tool fork from pcstat, with a feature that showing top X biggest cache files globally,来源于pcstat,新增了top功能对缓存文件大小进行排序。

https://github.com/silenceshell/hcache

构建

需要go版本> 1.12

git clone https://github.com/silenceshell/hcache.git
cd hcache
make build
sudo cp hcache /usr/local/bin/ 

或者直接下载hcache作者已构建好的,下载地址如下:

https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache

hcache的命令介绍

-bname 路径名称转换成简写名称

-histo 直方图显示缓存文件比例

-json 返回json数据

-pid int 返回特定pid的数据

-terse 显示简短输出

示例

./hcache -top 10

可以看到是按照cache的大小从大到小排序,从而很直观看到那些文件路径占用了缓存页面。

再结合lsof就可以找到文件的进程信息了。

./hcache -top 10 -bname

+--------------------------+----------------+------------+-----------+---------+
| Name                             | Size (bytes)    | Pages       | Cached    | Percent |
|--------------------------+----------------+------------+-----------+---------|
| containerd                     | 49085976       | 11984      | 8420         | 070.260 |
| dockerd                         | 102122240     | 24933      | 1786         | 007.163 |
| system.journal               | 24834048       | 6063        | 1106         | 018.242 |
| libmysqlclient.so.18.0.0 | 3135664         | 766          | 766           | 100.000 |
| containerd-shim            | 6120256         | 1495        | 621           | 041.538 |
| hcache                           | 2542252         | 621          | 621           | 100.000 |
| libcrypto.so.1.0.2k         | 2521144         | 616          | 616           | 100.000 |
| libc-2.17.so                    | 2156240         | 527          | 527           | 100.000 |
| libdb-5.3.so                    | 1850600        | 452          | 452           | 100.000 |
| libpython2.7.so.1.0        | 1847752         | 452          | 452           | 100.000 |
+--------------------------+----------------+------------+-----------+---------+

hcache -pid 1

./hcache -top 10 -histo

相关推荐

10w qps缓存数据库——Redis(redis缓存调优)

一、Redis数据库介绍:Redis:非关系型缓存数据库nosql:非关系型数据库没有表,没有表与表之间的关系,更不存在外键存储数据的形式为key:values的形式c语言写的服务(监听端口),用来存...

Redis系列专题4--Redis配置参数详解

本文基于windowsX64,3.2.100版本讲解,不同版本默认配置参数不同在Redis中,Redis的根目录中有一个配置文件(redis.conf,windows下为redis.windows....

开源一夏 | 23 张图,4500 字从入门到精通解释 Redis

redis是目前出场率最高的NoSQL数据库,同时也是一个开源的数据结构存储系统,在缓存、数据库、消息处理等场景使用的非常多,本文瑞哥就带着大家用一篇文章入门这个强大的开源数据库——Redis。...

redis的简单与集群搭建(redis建立集群)

Redis是什么?是开源免费用c语言编写的单线程高性能的(key-value形式)内存数据库,基于内存运行并支持持久化的nosql数据库作用主要用来做缓存,单不仅仅是做缓存,比如:redis的计数器生...

推荐几个好用Redis图形化客户端工具

RedisPlushttps://gitee.com/MaxBill/RedisPlusRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux...

关于Redis在windows上运行及fork函数问题

Redis在将数据库进行持久化操作时,需要fork一个进程,但是windows并不支持fork,导致在持久化操作期间,Redis必须阻塞所有的客户端直至持久化操作完成。微软的一些工程师花费时间在解决在...

你必须懂的Redis十大应用场景(redis常见应用场景)

Redis作为一款高性能的键值存储数据库,在互联网业务中有着广泛的应用。今天,我们就来详细盘点一下Redis的十大常用业务场景,并附上Golang的示例代码和简图,帮助大家更好地理解和应用Redis。...

极简Redis配置(redis的配置)

一、概述Redis的配置文件位于Redis安装目录下,文件名为redis.conf(Windows名为redis.windows.conf,linux下的是redis.conf)你可以通过C...

什么是redis,怎么启动及如何压测

从今天起咱们一起来学习一下关于“redis监控与调优”的内容。一、Redis介绍Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。...

一款全新Redis UI可视化管理工具,支持WebUI和桌面——P3X Redis UI

介绍P3XRedisUI这是一个非常实用的RedisGUI,提供响应式WebUI访问或作为桌面应用程序使用,桌面端是跨平台的,而且完美支持中文界面。Githubhttps://github....

windows系统的服务器快速部署java项目环境地址

1、mysql:https://dev.mysql.com/downloads/mysql/(msi安装包)2、redis:https://github.com/tporadowski/redis/r...

window11 下 redis 下载与安装(windows安装redis客户端)

#热爱编程是一种怎样的体验#window11下redis下载与安装1)各个版本redis下载(windows)https://github.com/MicrosoftArchive/r...

一款轻量级的Redis客户端工具,贼好用!

使用命令行来操作Redis是一件非常麻烦的事情,我们一般会选用客户端工具来操作Redis。今天给大家分享一款好用的Redis客户端工具TinyRDM,它的界面清新又优雅,希望对大家有所帮助!简介Ti...

一个.NET开发且功能强大的Windows远程控制系统

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!项目介绍SiMayRemoteMonitorOS是一个基于Windows的远程控制系统,完...

Redis客户端工具详解(4款主流工具)

大家好,我是mikechen。Redis是大型架构的基石,也是大厂最爱考察内容,今天就给大家重点详解4款Redis工具@mikechen本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集...