千家信息网

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

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,一、hcacheLinux用户可能经常遇到的一个问题是内存大部分都被Buffer和Cache占用了,但是有时候我们想知道到底Cache了些什么内容却没有一个直观好用的工具。今天给你介绍一个可以查看Li
千家信息网最后更新 2025年02月08日使用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安全错误 数据库的锁怎样保障安全 智慧党建软件开发商 深圳合一网络技术有限公司 浪潮服务器怎么进入安全模式 计算机网络安全硕士专业 概念模型和逻辑模型的数据库作业 创建tsc数据库 中国航空公司网络安全 税务局信息中心网络安全 虚无大陆服务器藏宝图怎么得 云计算数据库研究过程 图数据库支持搜索 海康监控平台软件开发语言 自由软件开发码 追剧达人tv版无法连接服务器 hp战99-73软件开发 网络安全教育内容题 服务器需要的红石科技 软件开发语言什么意思 数据库设计库参与人员 河北的服务器是什么云服务器 海兴县委网络安全和信息化 网络安全从业者需要具备的技能 手机软件开发的需求分析 青岛软件开发驻场费用是多少 顺成软件开发有限公司 北京安好网络技术公司 上海互联网软件开发不二之选 崩坏3pc端在哪选服务器 sql数据库创建表格 华为泰山服务器进raid
0