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脚本程序 ...
随机推荐
- C#学习笔记(19)——使用IComparer(百度文库)
说明(2017-7-24 19:15:15): 1. 百度文库里的一篇文章,觉得讲的比较好.原文地址:https://wenku.baidu.com/view/b53cd250ad02de80d4d8 ...
- 11月Android笔记
不知不觉又过了两个月了,过的够呛.新收获:百度云,视频直播,sqlite加密,lucene,SlidingPaneLayout. 我发现只要你有心,你期望的事情会接踵而来(不包括爱情= =) 上个游戏 ...
- button上传替换file上传按钮,并显示图片缩略图,纯jsp操作
1.jsp代码 <div class="inputBox"> <span id="tu" <c:if test="${pd = ...
- ntpd与ntpdate的区别
之前配置ntpd的时候搜到一句话,印象很深刻,也觉得很有标题党的效果,就借鉴为标题了:“我认为有几种人是必须不招聘/裁掉的: 1 用ntpdate代替ntpd的人”但具体原因不太懂,总觉得还是用ntp ...
- 调整Intellij IDEA内存
最近IDEA真是卡的要死,下面
- 【WPF】添加自定义字体
需求:在WPF项目中使用幼圆字体. 步骤: 1.首先要有幼圆TTF字体文件.在C:\Windows\Fonts目录下找,如果系统字体库中没有,就上网下一份,如这里或这里. 2.将字体文件复制到WPF项 ...
- 【Android】打电话Demo及Android6.0的运行时权限
新手开局,查看一些旧资料,从打电话.发短信的小应用开始.代码很简单,主要是学习了: 用StartActivity()激活一个Activity组件.这里是激活了系统原生的打电话和发短信Activity. ...
- <[长期赢利:股票价值投资方法]>读书笔记
书在这里 风险是因为不够专业 在股市里,要不断拓宽自己的眼界 投资如长跑,贵在坚持 长线为主,短线为辅:重视选股,减少盲目:耐心等待,春天回来 除了要与银行利息比以外,还要了解当时股票的平均市盈率,再 ...
- Linux shell 常用 加减乘除记录
+ 运算 count=0 let count=count+2 let count+=2 echo $count - 运算 count=0 let count=count-2 let count-=2 ...
- eclipse配置google代码风格
1.下载google code style的xml文件 地址:https://github.com/google/styleguide 导入xml文件 可能会遇到警告: 版本的问题,忽略即可. < ...