1.free -m命令缓存
[root@crawler ~]# free -m total used free shared buffers cached Mem: 3823 525 3297 0 29 154 -/+ buffers/cache: 341 3481 Swap: 199 121 78
[1]第一行:total:总的物理内存。used:已经使用的物理内存。free:剩余的物理内存。buffers :buffers占用的物理内存。cached :cached占用的物理内存。app
第二行:used:应用程序使用的物理内存。free:应用程序可用的物理内存。性能
第三行:total:swap总内存。used:已经使用的swap内存。free:剩余的swap内存。spa
[2]buffers和cached内存是操做系统为了提升系统性能,系统临时占用的内存,若是应用程序内存不够用了,能够随时释放,因此第二行的意思就是对应用程序来讲的已用内存和可用内存,继续解释就是:操作系统
total used free shared buffers cached Mem: 3823 525 3297 0 29 154 -(buffers/cache): 341 +(buffers/cache): 3481 Swap: 199 121 78
[3]总之,第一行展现的是系统的内存使用状况,第二行就是对应用程序来讲的内存使用状况,第三行是交换区内存的使用状况。code
2.swap内存blog
[1]swap就是交换区的意思,swap内存占用的是磁盘空间,当物理内存不够用的时候,能够把物理内存先放到swap内存里面,后面能够再取回到物理内存里面。内存
[2]设置使用swap的时机:/proc/sys/vm/swappiness,这里面的值(默认是60)就是当物理内存的使用百分比超过这个值时,便开始使用swap内存。it
3.buffers和cached内存class
[1]buffer和cache是为了提升系统性能,系统申请的内存。
[2]buffer:缓冲区的意思。例如程序向磁盘写入100次数据,系统能够把每10次的数据存到buffer里面,而后一次性写到磁盘,起到了缓冲的做用。
cache:缓存的意思。例如从磁盘读了一些数据,系统能够把这些数据存到cache里面,下次须要读相同数据时,就不用再次读磁盘了,起到了缓存的做用。
[3]通常状况下,buffer是用来写缓冲,而cache是用来读缓存,即write-buffer和read-cache,固然buffer和cache均可以混用,看本身的状况使用。固然上面说的这些内存cache和buffer都是操做系统的行为,还要看操做系统如何实现。