歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux Cache Memory(緩存內存)

Linux與Windows不同,會存在緩存內存,通常叫做Cache Memory。有些時候你會發現沒有什麼程序在運行,但是使用top或free命令看到可用內存會很少,此時查看Linux系統 /proc/meminfo 文件,會發現有一項 Cached Memory:

# >> cat /proc/meminfo
MemTotal:     16414004 kB
MemFree:      10278960 kB
Buffers:         65588 kB
Cached:        1273692 kB
SwapCached:      15552 kB
Active:        5349400 kB
Inactive:       597340 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:     16414004 kB
LowFree:      10278960 kB
SwapTotal:    33551744 kB
SwapFree:     33315872 kB
Dirty:              64 kB
Writeback:           0 kB
Mapped:        4662772 kB
Slab:           134212 kB
CommitLimit:  41758744 kB
Committed_AS:  5048776 kB
PageTables:      14784 kB
VmallocTotal: 536870911 kB
VmallocUsed:    279436 kB
VmallocChunk: 536590975 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB

什麼是Cache Memory(緩存內存):

當你讀寫文件的時候,Linux內核為了提高讀寫效率與速度,會將文件在內存中進行緩存,這部分內存就是Cache Memory(緩存內存)。即使你的程序運行結束後,Cache Memory也不會自動釋放。這就會導致你在Linux系統中程序頻繁讀寫文件後,你會發現可用物理內存會很少。

其實這緩存內存(Cache Memory)在你需要使用內存的時候會自動釋放,所以你不必擔心沒有內存可用。如果你希望手動去釋放Cache Memory(緩存內存)的話也是有辦法的。

釋放Cache Memory(緩存內存):

用下面的命令可以釋放Cache Memory:

echo 3 > /proc/sys/vm/drop_caches

Copyright © Linux教程網 All Rights Reserved