读懂free命令

来源:互联网 发布:寂寞的季节 知乎 编辑:程序博客网 时间:2024/05/01 08:22

free -m -s2

-m指定以兆为单位显示,-s每多少秒刷新一次


先看下输出(我调整了下格式,让其对齐了):

                     total       used       free     shared    buffers     cached

Mem:           7844       7366        477          0        100        902

-/+ buffers/cache:       6363       1480

Swap:         1961         28       1932



第一行:

7844: 机器总内存大小

7366: 已经被OS使用了的内存大小(注意,使用,并非占用)

477: 空闲的内存大小

0: shared,作废,别看了

buffers: 缓冲区大小,比如,缓存打开的文件目录,文件权限等

cached: 缓存大小,比如文件缓存,网络通信的缓存(其实也是文件缓存)等等


第二行:

6363: -buffers/cache,OS实实在在正在使用的 内存大小(OS内核+应用程序),所以这里的开头是减号

1480: + buffers/cache,实实在在还可以使用的内存大小,其值约等于第一行的free + buffers + cache,(自己想想为什么吧)


第三行(熟悉页面交互的应该很清楚):

1961: 用来做页面交换的总的硬盘空间大小

28: 页面交换使用了的大小

1932: 页面交互未使用的磁盘空间大小



结论:

1、要看内存的占有比例,第二行- buffers/cache更有意义,使用率可以这样计算:

- buffers/cache / total

这里是:6363 / 7844 = 81%


2、Swap如果使用率过高,那就说明页面交换非常的频繁,应用的性能就会急剧下降,可能是内存真心不够用,还有就是内存碎片很多,而应用又频繁的申请大的内存块





0 0
原创粉丝点击