Linux free命令使用及解析
1. 命令格式
free [参数]
2. 命令功能
free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。共享内存将被忽略
3. 命令参数
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
-h 自动转换单位(最常用)
-o 不显示缓冲区调节列。
-s <间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
4. 输出解析
[zhangchengfei@Master:~]$free
total used free shared buffers cached
Mem: 16079364 14901460 1177904 5278136 65408 5921568
-/+ buffers/cache: 8914484 7164880
Swap: 12223484 1388724 10834760
free命令的所有输出值都是从/proc/meminfo中读出的。这里free的输出一共有四行,下面依次解释这几行:
4.1 Mem行解析
这行输出是从操作系统(OS)来看的,也就是说,从OS的角度来看,计算机上一共有: 16079364KB(默认单位为KB)物理内存;在这些物理内存中有14901460KB被使用;还用1177904KB是可用的;
这里有一个等式:
Mem.total = Mem.used + Mem.free
shared表示被几个进程共享的内存的,用于IPC,现在已经deprecated,但我的机器上还是显示了,主要取决于free命令是怎么实现的。
buffer表示被系统buffer的内存,用于存放要输出到disk(块设备)的数据。 cached表示被系统cache的内存,用于存放从disk上读入的数据。
下面是英文原版解释,这二个都是为了提高IO性能的。
A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use.
释放掉被系统cache占用的数据;
echo 3>/proc/sys/vm/drop_caches
4.2 -/+ buffers/cache行解析
该行是从应用程序的角度看系统内存的使用情况。
used表示应用程序认为系统已经用掉多少内存; free表示应用程序认为系统还有多少内存;
因为被系统cache和buffer占用的内存可以被快速回收,这里都算在free里面。
这里有两个等式:
(-/+buffer/cache).used = Mem.used - Mem.buffers - Mem.cached
(-/+buffer/cache).free = Mem.free + Mem.buffers + Mem.cached
4.3 Swap行解析
该行为交换分区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free)。
Linux free命令使用及解析的更多相关文章
- Linux常用命令,目录解析,思维导图
文章目录 下载地址 Linux常用命令 linux系统常用快捷键及符号命令 Linux常用Shell命令 Linux系统目录解析 Shell Vi全文本编辑器 Linux安装软件 Linux脚本编制编 ...
- linux mknod命令解析
linux mknod命令解析 http://www.cnblogs.com/cobbliu/archive/2011/07/05/2389014.html mknod:make node 生成设备 ...
- 详细解析Linux scp命令的应用
详细解析Linux scp命令的应用 Linux命令有人统计说是有4000多个,Linux scp命令是用于Linux之间复制文件和目录,这里详细介绍scp命令使用和参数. AD: Linux scp ...
- LINUX命令LS -AL 解析
LINUX命令LS -AL 解析 linux命令ls -al 解析 ls是“list”的意思,与早期dos的命令dir功能类似.参数-al则表示列出所有的文件,包括隐藏文件,就是文件前面第一个字符为. ...
- 详细解析Linux scp命令的应用(转载)
转自:http://os.51cto.com/art/201003/187301.htm Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程.从远程 ...
- Linux入门:运行级别解析
Linux入门:运行级别解析 一.查看当前运行级别 Ubuntu中,runlevel命令 可以查看当前运行级别: CentOS中,who -r 命令查看当前运行级别: www.2cto.com ...
- linux全部命令
linux全部命令 一.安装和登陆命令1.进入图形界面startx 2.进入图形界面init 5 3.进入字符界面init 3 4.登陆login 5.关机poweroff-p 关闭机器的时候关闭电源 ...
- linux常用命令加实例大全
目 录引言 1一.安装和登录 2(一) login 2(二) shutdown 2(三) halt 3(四) reboot 3(五) ...
- linux source命令与export命令的区别
shell与export命令 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序 ...
随机推荐
- vue2.0的生命周期
生命周期先上图 什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程, 我们称这是Vue的生命周期.通俗说就是Vue实 ...
- 部署openfire到linux环境下
1.java环境部署:具体参考 http://blog.csdn.net/gufachongyang02/article/details/45337379 2.ant环境部署: 具体参考 http:/ ...
- wcout输出中文不显示
准备使用UNICODE来写个控制台测试程序发现,cout无法输出UNICODE的中文字符.查找c++标准看到,其提供了wcin.wcout.wcerr.wclog用于处理wchar_t字符的输入输出. ...
- golang初始化结构体数组
最近组里新项目要求用go来写,没办法只能边看文档边写代码,今天遇到郁闷的问题,查了好久最终发现居然是一个标点符号的导致的,遂纪录之 刚刚给一个接口写单元测试时想初始化一个结构体数组,然后遍历该数组并建 ...
- SQL Server 2008 R2升级到SQL Server 2012 SP1
1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的S ...
- python 字符串编码 str和unicode 区别以及相互转化 decode('utf-8') encode('utf-8')
- poj1182(种类并查集好题)
不得不说,我得感谢@驱动幽灵百鬼夜行小肆,正是因为看明白了他给出的解析,我才完全弄懂种类并查集的,这里,我也不想去改其他的,就直接引用他的解题报告吧 转载:http://blog.csdn.net/c ...
- 基于jQuery个性圆圈倒计时特效
基于jQuery个性圆圈倒计时特效里面包含十几款不用效果的jQuery倒计时特效下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section class=" ...
- 纯CSS3打造非常炫的加载动画
纯css3打造的一款非常炫的加载图.用在需要一定时间加载的地方非常合适.先上效果图: 点击这里在线预览 代码非常简单.没有用任何javascript代码.纯css3实现. html代码: <di ...
- WPF自定义行为Behavior,实现双击控件复制文本
WPF引用xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity& ...