使用Hcache查看是谁占用了系统Buffer&Cache?
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,一、hcacheLinux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Li
千家信息网最后更新 2025年12月04日使用Hcache查看是谁占用了系统Buffer&Cache?
- 一、hcache
- Linux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Linux当前缓存了哪些文件的小工具hcache。
- Hcache作者:伊布
- 前几天看到有个人用go写了个pcstat,可以查看某个文件是否被缓存(作者的目的是数据库调优),也可以根据进程pid来查看都缓存了哪些文件,但是不能查看整个操作系统都cache了哪些文件。因此,我基于pcstat写了个hcache,增加了查看当前操作系统cache的前top个文件的特性,你可以从这里下载下来试用,如果有什么建议的话也欢迎反馈给我:hubottle@gmail.com
- 官网:https://github.com/silenceshell/hcache
- 二、安装
- hcache是使用GO开发的,安装非常简单,开箱即用。
- $ wget http://7xir15.com1.z0.glb.clouddn.com/hcache
- $ chmod +x hcache
- $ mv hcache /usr/local/bin/
- 1
- 2
- 3
- $ wget http://7xir15.com1.z0.glb.clouddn.com/hcache
- $ chmod +x hcache
- $ mv hcache /usr/local/bin/
- 三、使用
- $ free -m
- total used free shared buff/cache available
- Mem: 7823 1952 174 9 5696 5518
- Swap: 0 0 0
- 1
- 2
- 3
- 4
- $ free -m
- total used free shared buff/cache available
- Mem: 7823 1952 174 9 5696 5518
- Swap: 0 0 0
- 查看使用Cache最多的3个进程。
- $ hcache --top 3
- +----------------------------+----------------+------------+-----------+---------+
- | Name | Size (bytes) | Pages | Cached | Percent |
- |----------------------------+----------------+------------+-----------+---------|
- | /usr/bin/dockerd | 33368760 | 8147 | 8147 | 100.000 |
- | /usr/bin/docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
- | /etc/udev/hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
- +----------------------------+----------------+------------+-----------+---------+
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- $ hcache --top 3
- +----------------------------+----------------+------------+-----------+---------+
- | Name | Size (bytes) | Pages | Cached | Percent |
- |----------------------------+----------------+------------+-----------+---------|
- | /usr/bin/dockerd | 33368760 | 8147 | 8147 | 100.000 |
- | /usr/bin/docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
- | /etc/udev/hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
- +----------------------------+----------------+------------+-----------+---------+
- 默认情况下会显示cache文件的全路径,会比较长。可以使用--bname选项来仅显示文件名。
- $ hcache --top 3 --bname
- +-------------------+----------------+------------+-----------+---------+
- | Name | Size (bytes) | Pages | Cached | Percent |
- |-------------------+----------------+------------+-----------+---------|
- | dockerd | 33368760 | 8147 | 8147 | 100.000 |
- | docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
- | hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
- +-------------------+----------------+------------+-----------+---------+
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- $ hcache --top 3 --bname
- +-------------------+----------------+------------+-----------+---------+
- | Name | Size (bytes) | Pages | Cached | Percent |
- |-------------------+----------------+------------+-----------+---------|
- | dockerd | 33368760 | 8147 | 8147 | 100.000 |
- | docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
- | hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
- +-------------------+----------------+------------+-----------+---------+
- 查看指定进程的Cache使用情况。
- $ hcache -pid 2903 -bname
- 1
- $ hcache -pid 2903 -bname
- 另外还可使用指定格式输出,比如:JSON、纯文本。更多使用方法可参考hcache -h。
- $ hcache -h
- Usage of hcache:
- -bname
- convert paths to basename to narrow the output
- -histo
- print a simple histogram instead of raw data
- -json
- return data in JSON format
- -nohdr
- omit the header from terse & text output
- -pid int
- show all open maps for the given pid
- -plain
- return data with no box characters
- -pps
- include the per-page status in JSON output
- -terse
- show terse output
- -top int
- convert paths to basename to narrow the output
- -unicode
- return data with unicode box characters
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- $ hcache -h
- Usage of hcache:
- -bname
- convert paths to basename to narrow the output
- -histo
- print a simple histogram instead of raw data
- -json
- return data in JSON format
- -nohdr
- omit the header from terse & text output
- -pid int
- show all open maps for the given pid
- -plain
- return data with no box characters
- -pps
- include the per-page status in JSON output
- -terse
- show terse output
- -top int
- convert paths to basename to narrow the output
- -unicode
- return data with unicode box characters
- 完结。。
文件
缓存
进程
系统
操作系统
作者
工具
情况
直观
个人
使用方法
内存
内容
大部分
建议
数据
数据库
文件名
文本
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全学哪门语言
软件开发 分布式开发
网络安全风险分析资产识别的目的
探险指环服务器
手机基岩版怎么开启服务器
不需要安装程序的数据库
哈工大网络安全实验室
重庆购物直播软件开发
临湘网络安全教育
网络技术对青少年的影响作文
存储服务器硬盘损坏原因
中国兽医数据库
网络技术论文提纲范文
服务器网页管理出错
快速软件开发电子书
深圳前海同益网络技术
网络安全 不可否认性
虹口区软件开发应用范围
有关网络安全利弊的作文
全球前十名互联网科技公司
数据库创建表中添加主键
开发网站并配置web服务器
服务器一般留几个显示输出口
收录报纸的数据库是
网络技术工程人员职责
msql数据库连接教程
亿赛通服务器地址设置
电脑时间和什么服务器同步
常用的服务器管理命令
iosapp软件开发服务多少钱