LINUX 查看当前系统的内存使用情况

# free

显示结果如下:

LINUX 查看当前系统的内存使用情况

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看 内存是否够用的标准哦.

上一篇:用vue.js学习es6(三):数组、对象和函数的解构


下一篇:Fragment的陷阱(转)