快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220
网站建设
移动开发
小程序开发
运维推广
网站推广
网站推广
运维外包
运维外包
网站报价
经典案例
网站知识
关于我们
网站建设知识
十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用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
完结。。
当前名称:使用Hcache查看是谁占用了系统Buffer&Cache?
本文路径:
http://6mz.cn/article/ghdopi.html
其他资讯
PostgreSQL源码解读(215)-查询#122(varstrfastcmp_locale)
使用html+css+js实现3D相册的详细代码
Springboot数据库连接断线重连问题
C#很简单而又很经典的一句代码实例
Kubernetesinaction的示例分析