查看内存使用情况:
free -m
别的不多说,重点注意那个buffers和cached!!
-buffers/cache(真正被使用的内存数)=used-buffers-cached(等号右边的为mem哪一行的项)
+buffers/cache(真正可用内存数)=free+buffers+cached(等号右边的为mem哪一行的项)
解释:Mem这一行
对操作系统来讲,buffers/cached都属于被使用,所以free=+buffers/cache-(buffers+cached)。
而应用程序来讲,buffers/cached可用来提高程序的执行性能,buffers/cached属于可用范畴,所以used=-buffers/cache+buffers+cached
buffers和cached到底是什么呢?
为了提高磁盘和内存的读取效率,linux采取了两种主要的cache方式:buffer cache和page cache。
Buffer Cache:块设备数据缓存。(就是进行设备块与设备块之间的操作,此时不涉及文件系统)
Page Cache:文件数据的缓存。(在文件系统之上的操作)
测试:
(1)用cp /dev/zero ./test_temp复制文件来观测cached的变化,发现cached快速变大,此时buffer基本不会变化。
(2)dd if=/dev/zero of=/dev/dm-0 bs=1M count=4096对dm0设备进行裸盘写操作,此时buffers快速变大(好吧,系统也崩溃了)。
好了,内存这块先说到这,以后遇到在添加~~~