LINUX 查看当前系统的内存使用情况 free
每天学习一点点 编程PDF电子书、视频教程免费下载:
http://www.shitanlife.com/code
# free
显示结果如下:
Mem:表示物理内存统计
total 内存总数 8057964KB
used 已使用的内存 7852484KB
free 空闲的内存数 205480KB
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 290432KB
cached Page 缓存内存数:5735024KB
(存在关系: total = used + free )
-/+ buffers/cached:表示物理内存的缓存统计
(-buffers/cache) used内存数:1827028KB (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 6230936KB (指的第一部分Mem行中的free + buffers + cached)
-buffers/cache反映的是被程序实实在在吃掉的内存;
+buffers/cache反映的是可以挪用的内存总数;
Swap:表示硬盘上交换分区的使用情况
free参数说明
-m 以M为单位查看内存使用情况(默认为kb)
-b 以Byte为单位查看内存使用情况
-k 以KB为单位查看内存使用情况
-o 不显示缓存调节列
-t 显示内存总和列
-V 显示版本信息
-s <间隔秒数> 可以在指定时间段内不简单监控内存的使用情况
buffers 与 cached 的区别
对于应用程序来说,buffers/cached 是等于可用的,
因为buffer/cached是为了提高文件读取的性能,
当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.
buffers是指用来给块设备做的缓冲大小,
他只记录文件系统的metadata以及 tracking in-flight pages.
cached是用来给文件做缓冲。
那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,
可以试一下,先后执行两次命令#man X ,可以明显的感觉到第二次的开打的速度快很多。
记住内存是拿来用的,不是拿来看的.不像windows,无论你的真实物理内存有多少,他都要拿硬盘交换 文件来读.
这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分 的时候,拿出一部分
硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换 空间,就不用担心自己的内存
太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看 内存是否够用的标准哦.