关于linux系统下的cache Memory什么是Cache Memory?当你读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。
其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory也是有办法的。 通过命令可以查看内存状态: 方法一: [root@sky9896 /]# more /proc/meminfo MemTotal: 1921696 kB #总物理内存 MemFree: 106016 kB #空闲内存 Buffers: 176380 kB #缓存,主要用于目录 Cached: 696016 kB #缓存,用于已打开的文件 SwapCached: 33176 kB #交换缓存 ...... 方法二: [root@sky9896 /]# free -m total used free shared buffers cached Mem: 1876 1723 152 0 173 618 -/+ buffers/cache: 931 944 Swap: 2023 138 1885 注释:
total:总物理内存
其中: 方法三:cacti监控的cache memory,从图中来看,缓存满了。
通过下面的方法来进行清理,即执行两条命令。 [root@sky9896 /]# sync #防止丢失数据 [root@sky9896 /]# echo 1 >/proc/sys/vm/drop_caches #释放页缓存 [root@sky9896 /]# echo 2> /proc/sys/vm/drop_caches #释放目录和节点 [root@sky9896 /]# echo 3>/proc/sys/vm/drop_caches #清空所有缓存 执行完后,再查看内存状态,如下: [root@sky9896 /]# free -m total used free shared buffers cached Mem: 1876 756 1119 0 0 36 -/+ buffers/cache: 719 1156 Swap: 2023 138 1885 cacti监控的cached memory,由619.46M降到62.36M
说明,通过手动的方式成功清除linux缓存。 (责任编辑:IT) |