1. 程式人生 > 實用技巧 >linux系統清理快取

linux系統清理快取

1)快取機制介紹
在Linux系統中,為了提高檔案系統性能,核心利用一部分實體記憶體分配出緩衝區,用於快取系統操作和資料檔案,當核心收到讀寫的請求時,核心先去快取區找是否有請求的資料,有就直接返回,如果沒有則通過驅動程式直接操作磁碟。
快取機制優點:減少系統呼叫次數,降低CPU上下文切換和磁碟訪問頻率。
CPU上下文切換:CPU給每個程序一定的服務時間,當時間片用完後,核心從正在執行的程序中收回處理器,同時把程序當前執行狀態儲存下來,然後載入下一個任務,這個過程叫做上下文切換。實質上就是被終止執行程序與待執行程序的程序切換。

2)釋放快取區記憶體的方法

a)清理pagecache(頁面快取)
echo 
1 > /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