千家信息网

使用Hcache查看是谁占用了系统Buffer&Cache?

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、hcacheLinux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Li
千家信息网最后更新 2026年11月03日使用Hcache查看是谁占用了系统Buffer&Cache?
  1. 一、hcache

  2. Linux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Linux当前缓存了哪些文件的小工具hcache。

  3. Hcache作者:伊布

  4. 前几天看到有个人用go写了个pcstat,可以查看某个文件是否被缓存(作者的目的是数据库调优),也可以根据进程pid来查看都缓存了哪些文件,但是不能查看整个操作系统都cache了哪些文件。因此,我基于pcstat写了个hcache,增加了查看当前操作系统cache的前top个文件的特性,你可以从这里下载下来试用,如果有什么建议的话也欢迎反馈给我:hubottle@gmail.com

  5. 官网:https://github.com/silenceshell/hcache

  6. 二、安装

  7. hcache是使用GO开发的,安装非常简单,开箱即用。


  8. $ wget http://7xir15.com1.z0.glb.clouddn.com/hcache
  9. $ chmod +x hcache
  10. $ mv hcache /usr/local/bin/
  11. 1
  12. 2
  13. 3
  14. $ wget http://7xir15.com1.z0.glb.clouddn.com/hcache
  15. $ chmod +x hcache
  16. $ mv hcache /usr/local/bin/
  17. 三、使用


  18. $ free -m
  19. total used free shared buff/cache available
  20. Mem: 7823 1952 174 9 5696 5518
  21. Swap: 0 0 0
  22. 1
  23. 2
  24. 3
  25. 4
  26. $ free -m
  27. total used free shared buff/cache available
  28. Mem: 7823 1952 174 9 5696 5518
  29. Swap: 0 0 0
  30. 查看使用Cache最多的3个进程。


  31. $ hcache --top 3
  32. +----------------------------+----------------+------------+-----------+---------+
  33. | Name | Size (bytes) | Pages | Cached | Percent |
  34. |----------------------------+----------------+------------+-----------+---------|
  35. | /usr/bin/dockerd | 33368760 | 8147 | 8147 | 100.000 |
  36. | /usr/bin/docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
  37. | /etc/udev/hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
  38. +----------------------------+----------------+------------+-----------+---------+
  39. 1
  40. 2
  41. 3
  42. 4
  43. 5
  44. 6
  45. 7
  46. 8
  47. $ hcache --top 3
  48. +----------------------------+----------------+------------+-----------+---------+
  49. | Name | Size (bytes) | Pages | Cached | Percent |
  50. |----------------------------+----------------+------------+-----------+---------|
  51. | /usr/bin/dockerd | 33368760 | 8147 | 8147 | 100.000 |
  52. | /usr/bin/docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
  53. | /etc/udev/hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
  54. +----------------------------+----------------+------------+-----------+---------+
  55. 默认情况下会显示cache文件的全路径,会比较长。可以使用--bname选项来仅显示文件名。


  56. $ hcache --top 3 --bname
  57. +-------------------+----------------+------------+-----------+---------+
  58. | Name | Size (bytes) | Pages | Cached | Percent |
  59. |-------------------+----------------+------------+-----------+---------|
  60. | dockerd | 33368760 | 8147 | 8147 | 100.000 |
  61. | docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
  62. | hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
  63. +-------------------+----------------+------------+-----------+---------+
  64. 1
  65. 2
  66. 3
  67. 4
  68. 5
  69. 6
  70. 7
  71. 8
  72. $ hcache --top 3 --bname
  73. +-------------------+----------------+------------+-----------+---------+
  74. | Name | Size (bytes) | Pages | Cached | Percent |
  75. |-------------------+----------------+------------+-----------+---------|
  76. | dockerd | 33368760 | 8147 | 8147 | 100.000 |
  77. | docker-containerd | 7115584 | 1738 | 1738 | 100.000 |
  78. | hwdb.bin | 6711310 | 1639 | 1639 | 100.000 |
  79. +-------------------+----------------+------------+-----------+---------+
  80. 查看指定进程的Cache使用情况。


  81. $ hcache -pid 2903 -bname
  82. 1
  83. $ hcache -pid 2903 -bname
  84. 另外还可使用指定格式输出,比如:JSON、纯文本。更多使用方法可参考hcache -h。


  85. $ hcache -h
  86. Usage of hcache:
  87. -bname
  88. convert paths to basename to narrow the output
  89. -histo
  90. print a simple histogram instead of raw data
  91. -json
  92. return data in JSON format
  93. -nohdr
  94. omit the header from terse & text output
  95. -pid int
  96. show all open maps for the given pid
  97. -plain
  98. return data with no box characters
  99. -pps
  100. include the per-page status in JSON output
  101. -terse
  102. show terse output
  103. -top int
  104. convert paths to basename to narrow the output
  105. -unicode
  106. return data with unicode box characters
  107. 1
  108. 2
  109. 3
  110. 4
  111. 5
  112. 6
  113. 7
  114. 8
  115. 9
  116. 10
  117. 11
  118. 12
  119. 13
  120. 14
  121. 15
  122. 16
  123. 17
  124. 18
  125. 19
  126. 20
  127. 21
  128. 22
  129. $ hcache -h
  130. Usage of hcache:
  131. -bname
  132. convert paths to basename to narrow the output
  133. -histo
  134. print a simple histogram instead of raw data
  135. -json
  136. return data in JSON format
  137. -nohdr
  138. omit the header from terse & text output
  139. -pid int
  140. show all open maps for the given pid
  141. -plain
  142. return data with no box characters
  143. -pps
  144. include the per-page status in JSON output
  145. -terse
  146. show terse output
  147. -top int
  148. convert paths to basename to narrow the output
  149. -unicode
  150. return data with unicode box characters
  151. 完结。。

文件 缓存 进程 系统 操作系统 作者 工具 情况 直观 个人 使用方法 内存 内容 大部分 建议 数据 数据库 文件名 文本 方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网高科技 百单网互联网科技有限公司 华服互联网科技怎么样 科技互联网龙头 顺玮阁互联网科技 互联网高科技企业 广州优美互联网科技 成都互联网科技公司工作好不好 互联网媒体平台算高科技产业 中国互联网十大科技股排名 河南住房之家互联网科技 深圳市罗太互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 科技赋能视角下互联网保险发展 保险科技服务互联网营销体系 中国互联网有什么科技 有人说阿里系是互联网科技企业 中国互联网公司的科技投入 众联互联网络科技 互联网科技大佬云集 伟宏互联网科技 高科技互联网 互联网金融 科技 广州善班互联网科技 太原新华互联网科技学校怎么样 玉溪新华互联网科技好不好 锡山区互联网智能科技产品供应 美国互联网科技公司 中国互联网公司的科技投入 青岛易易互联网科技
0