首頁 > 軟體

Linux記憶體中Cache分析

2020-06-16 17:53:24

背景
在做效能測試中,用top命令發現記憶體的cache到了4G左右,當時就好奇是cache了什麼東西。然後就順著分析,壓測過程中紀錄檔檔案過大,導致快取的是紀錄檔。

為了驗證這個結果,首先是隨便vi一個大檔案,然後檢視cache是否變化。
然後尋找了工具,驗證下檔案裡是否是那個檔案。
最後得出結論:linux是會快取編輯過的檔案的。

下載地址:
https://code.google.com/p/linux-ftools/

官方預設的原始碼,換行符是windows的,下載完原始碼以後,需要修改換行符,否則安裝報錯。需要自行替換linux-ftools_modify.zip已經完成了換行符的替換。

打包之前要先修改許可權,增加執行指令碼的許可權
chmod 755 -R *

打包指令
./configure
make && make install

檢視快取命令(只針對當前目錄下的檔案有效)
linux-fincore --pages=false --summarize --only-cached *
輸出
[root@dev-suning tmp]# linux-fincore --pages=false --summarize --only-cached *
filename                                              size        total_pages    min_cached page      cached_pages        cached_size        cached_perc
--------                                              ----        -----------    ---------------      ------------        -----------        -----------
Could not mmap file: linux-ftools: No such device
Could not mmap file: linux-ftools-new: No such device
Could not mmap file: redis-2.8.19: No such device
wildfly-8.1.0.Final.tar.gz                            115,995,207        28,320          0            28,320        115,998,720            100.00
---
total cached size: 115,998,720


以下是截圖

剛開始的時候,cache只有40M

用vi編輯器,開啟了wildfly(110M左右)

用cache分析工具,檢視是否是這個檔案

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-09/122930.htm


IT145.com E-mail:sddin#qq.com