溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Hcache查看是誰占用了系統(tǒng)Buffer&Cache?

發(fā)布時間:2020-08-08 02:40:37 來源:ITPUB博客 閱讀:999 作者:wzgchen 欄目:建站服務(wù)器

  1. 一、hcache

  2. Linux用戶可能經(jīng)常遇到的一個問題是內(nèi)存大部分都被Buffer和Cache占用了,但是有時候我們想知道到底Cache了些什么內(nèi)容卻沒有一個直觀好用的工具。今天給你介紹一個可以查看Linux當(dāng)前緩存了哪些文件的小工具h(yuǎn)cache。

  3. Hcache作者:伊布

  4. 前幾天看到有個人用go寫了個pcstat,可以查看某個文件是否被緩存(作者的目的是數(shù)據(jù)庫調(diào)優(yōu)),也可以根據(jù)進程pid來查看都緩存了哪些文件,但是不能查看整個操作系統(tǒng)都cache了哪些文件。因此,我基于pcstat寫了個hcache,增加了查看當(dāng)前操作系統(tǒng)cache的前top個文件的特性,你可以從這里下載下來試用,如果有什么建議的話也歡迎反饋給我:hubottle@gmail.com

  5. 官網(wǎng):https://github.com/silenceshell/hcache

  6. 二、安裝

  7. hcache是使用GO開發(fā)的,安裝非常簡單,開箱即用。


  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. 默認(rèn)情況下會顯示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. 完結(jié)。。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI