linux系統清理快取
阿新 • • 發佈:2020-06-29
1)快取機制介紹
在Linux系統中,為了提高檔案系統性能,核心利用一部分實體記憶體分配出緩衝區,用於快取系統操作和資料檔案,當核心收到讀寫的請求時,核心先去快取區找是否有請求的資料,有就直接返回,如果沒有則通過驅動程式直接操作磁碟。
快取機制優點:減少系統呼叫次數,降低CPU上下文切換和磁碟訪問頻率。
CPU上下文切換:CPU給每個程序一定的服務時間,當時間片用完後,核心從正在執行的程序中收回處理器,同時把程序當前執行狀態儲存下來,然後載入下一個任務,這個過程叫做上下文切換。實質上就是被終止執行程序與待執行程序的程序切換。
2)釋放快取區記憶體的方法
a)清理pagecache(頁面快取) echo1 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=1 b)清理dentries(目錄快取)和inodes # echo 2 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=2
c)清理pagecache、dentries和inodes
# echo 3 > /proc/sys/vm/drop_caches 或者 # sysctl -w vm.drop_caches=3
上面三種方式都是臨時釋放快取的方法,要想永久釋放快取,需要在/etc/sysctl.conf檔案中配置:vm.drop_caches=1/2/3,然後sysctl -p生效即可!
另外,可以使用sync命令來清理檔案系統快取,還會清理殭屍(zombie)物件和它們佔用的記憶體
# sync