2021-05-12 14:32:11
Linux記憶體中Cache分析
背景
在做效能測試中,用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
相關文章