讀寫檔案時,linux核心為了提高讀寫效率與速度,會將檔案在記憶體中進行快取,這就是cache memory(快取記憶體)。
即使程式執行結束後,cache memory也不會自動釋放。這就會導致程式頻繁讀寫檔案後,可用物理記憶體會很少。
其實這快取記憶體(cache memory)在你需要使用記憶體的時候會自動釋放,所以不必擔心沒有記憶體可用。
如果你希望手動去釋放cache memory(快取記憶體)的話也是有辦法的。
cat /proc/sys/vm/drop_caches
0//預設是0;1-清空頁快取;2-清空inode和目錄樹快取;3-清空所有快取
大多數gnu linux都是預設開啟了快取機制的,檢視配置檔案 cat /proc/sys/vm/drop_caches 若為0的話,則表示開啟了快取機制的,這種機制在一直執行某個服務的時候非常有效,便於服務本身的快速讀取,而作為桌面使用者來說,開啟的程式並不那麼單一,所以桌面使用者還是建議設定此配置檔案為1,及時對系統快取進行清理,釋放空間以供其它程式使用。
[root@bak ~]#sync
//注意:在清空快取之前使用sync命令同步資料到磁碟
[root@bak ~]#free -m
total used free shared buffers
cached
mem: 15898 3029 12869 0 191
1064
-/+ buffers/cache: 1772 14125
swap: 31999 0 31999
[root@bak ~]#echo 3> /proc/sys/vm/drop_caches
[root@bak ~]#free -m
//發現快取明顯減少了
total used free shared buffers
cached
mem: 15898 1770 14128 0 1
30
-/+ buffers/cache: 1738 14160
swap: 31999 0 31999
清理快取指令碼:
#!bin/bash
sync
sync
echo 3 > /proc/sys/vm/drop_caches
Linux 清理快取,定時清理快取指令碼
檢視記憶體使用率 free m sed n 2p awk 清理記憶體 sync echo 1 proc sys vm drop caches 要達到釋放快取的目的,我們首先需要了解下關鍵的配置檔案 proc sys vm drop caches。這個檔案中記錄了快取釋放的引數,預設值為0,也就是不釋...
centos定時器 crond(定時清理快取例項)
43 21 每天的21 43 執行 15 05 每天的05 15 執行 0 17 每天的17 00 執行 0 17 1 每週一的 17 00 執行 0,10 17 0,2,3 每週日,周二,週三的 17 00和 17 10 執行 0 10 17 1 毎月1日從 17 00到7 10 毎隔1分鐘 執行...
android快取清理
獲取包名的應用快取 在生命週期方法oncreate中先呼叫一次getcachesize packagemanager pm getactivity getpackagemanager listinfos pm.getinstalledpackages 0 for packageinfo info i...