清理Linux記憶體緩存(手動釋放)

Hachibye
May 6, 2024

--

Clean Linux memory cache (manual release)

當監控系統之記憶體告警時,
撇除服務高峰以外需要手動進行處理,
以下是清理緩存,並且清理了哪一些緩存的筆記。

頁面緩存清除指令

sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'

目錄和索引節點清除指令

sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'

pagecache、dentries 和 inode 清除指令

sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
#查看記憶體
free -h

total 記憶體總量
used 已經使用的記憶體量
free 空閑的記憶體量
shared 多個進程共享的記憶體總量
buffers 緩存(目錄、inode…等)
cached 緩存(正在使用的文件…等)

drop_caches的值可以是0–3之間的數字
0:不釋放(系統默認值)
1:釋放頁面緩存
2:釋放dentries和inodes
3:釋放所有緩存

頁面緩存(Page Cache):

  • 功能:用於緩存最近訪問的檔案數據的副本,包括文件內容和檔案屬性。
  • 作用:提高後續對檔案的讀取速度,減少對檔案系統的訪問次數,從而提高系統性能。

目錄和索引節點(Directory and Index Nodes):

  • 功能:用於存儲文件和目錄的結構化信息,包括檔案名稱、檔案大小、擁有者、權限等。
  • 作用:維護檔案系統的結構和層次關係,提供文件和目錄之間的映射關係。

pagecache、dentries 和 inode:

  • pagecache:用於緩存文件的數據,包括文件內容。
  • dentries:用於緩存目錄中的檔案名稱和對應的索引節點的映射關係。
  • inode:包含有關文件或目錄的元數據信息,如文件大小、擁有者、權限等。
  • 作用:共同協作,使檔案系統能夠有效地組織和存儲檔案數據,提供快速查詢和訪問。

--

--

Hachibye
Hachibye

Written by Hachibye

字幕組退休勞工 ... DevOps/系統/雲端/資安

No responses yet