hcache查看系統緩存


 

hcache是基於pcstat的,pcstat可以查看某個文件是否被緩存和根據進程pid來查看都緩存了哪些文件。hcache在其基礎上增加了查看整個操作系統Cache和根據使用Cache大小排序的特性。

安裝

# wget https://silenceshell-1255345740.cos.ap-shanghai.myqcloud.com/hcache

# chmod 755 hcache ;mv hcache /usr/local/bin/

使用

1、查看占用緩存最多的三個文件

# hcache -top 3
2021/06/03 21:01:28 skipping "/tmp/hsperfdata_test/531": could not open file for read: open /tmp/hsperfdata_test/531: no such file or directory
+------------------------------------------------------------------+----------------+------------+-----------+---------+
| Name                                                             | Size (bytes)   | Pages      | Cached    | Percent |
|------------------------------------------------------------------+----------------+------------+-----------+---------|
| /home/test/softwares/jdk1.8.0_191/jre/lib/rt.jar                 | 66346586       | 16198      | 4559      | 028.145 |
| /home/test/softwares/jdk1.8.0_191/jre/lib/amd64/server/libjvm.so | 17022752       | 4156       | 3734      | 089.846 |
| /etc/udev/hwdb.bin                                               | 7780559        | 1900       | 958       | 050.421 |
+------------------------------------------------------------------+----------------+------------+-----------+---------+

結果展示含義如下:

  • name:占用緩存的文件全路徑
  • size:文件大小
  • pages:占了多少個Block
  • Cached:緩存使用了多少個Block
  • Percent:Cached 與 Pages的比值

上面命令顯示的是文件全路徑,可以使用-bname選項,只顯示文件名

# hcache -top 3 -bname
2021/06/03 21:11:44 skipping "/tmp/hsperfdata_test/531": could not open file for read: open /tmp/hsperfdata_test/531: no such file or directory
+-----------+----------------+------------+-----------+---------+
| Name      | Size (bytes)   | Pages      | Cached    | Percent |
|-----------+----------------+------------+-----------+---------|
| rt.jar    | 66346586       | 16198      | 4559      | 028.145 |
| libjvm.so | 17022752       | 4156       | 3734      | 089.846 |
| hwdb.bin  | 7780559        | 1900       | 958       | 050.421 |
+-----------+----------------+------------+-----------+---------+

查看進程的緩存使用

# hcache -pid 1397
+-----------------------+----------------+------------+-----------+---------+
| Name                  | Size (bytes)   | Pages      | Cached    | Percent |
|-----------------------+----------------+------------+-----------+---------|
| libm-2.23.so          | 1088952        | 266        | 185       | 069.549 |
| libstdc++.so.6.0.21   | 1566440        | 383        | 346       | 090.339 |
| libz.so.1.2.8         | 104824         | 26         | 26        | 100.000 |
| libdl-2.23.so         | 14608          | 4          | 4         | 100.000 |
| libwrap.so.0.7.6      | 36632          | 9          | 9         | 100.000 |
| libaio.so.1.0.1       | 5512           | 2          | 2         | 100.000 |
| libnss_compat-2.23.so | 35688          | 9          | 9         | 100.000 |
| libnsl-2.23.so        | 93128          | 23         | 23        | 100.000 |
| libc-2.23.so          | 1864888        | 456        | 456       | 100.000 |
| libcrypt-2.23.so      | 39224          | 10         | 10        | 100.000 |
| librt-2.23.so         | 31712          | 8          | 8         | 100.000 |
| liblz4.so.1.7.1       | 96360          | 24         | 24        | 100.000 |
| libgcc_s.so.1         | 89696          | 22         | 22        | 100.000 |
| libpthread-2.23.so    | 138696         | 34         | 34        | 100.000 |
| libnss_nis-2.23.so    | 47648          | 12         | 12        | 100.000 |
| libnuma.so.1.0.0      | 43936          | 11         | 11        | 100.000 |
| ld-2.23.so            | 162632         | 40         | 40        | 100.000 |
| mysqld                | 24754056       | 6044       | 4051      | 067.025 |
| libnss_files-2.23.so  | 47600          | 12         | 12        | 100.000 |
+-----------------------+----------------+------------+-----------+---------+

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM