1. 程式人生 > >linux清除cache的2種方法

linux清除cache的2種方法

今天去面試,被問到linux下如何清除cache,一臉懵逼,因為是真的不知道,但記得用sync命令可以把記憶體中的資料寫入硬碟,就這樣說了,面試的技術好像不滿意,下來之後查了查,原來還有/proc/sys/vm/drop_caches這個檔案可以。

網上查了查資料,整理一下:

關於drop_caches檔案:系統預設為0

在Documentation/sysctl/vm.txt中有如下描述:

drop_caches

Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free.

To free pagecache:僅清除頁面快取(PageCache)
 echo 1 > /proc/sys/vm/drop_caches

To free dentries and inodes:清除目錄項和inode
 echo 2 > /proc/sys/vm/drop_caches

To free pagecache, dentries and inodes:清除頁面快取,目錄項和inode
 echo 3 > /proc/sys/vm/drop_caches

As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first.

我面試完,我看技術給我的答案上寫的是echo 1 > /proc/sys/vm/drop_caches,大家看著記住就好,其實我說sync也沒錯的,對吧