free指令的说明
CentOS 6.x系统中的free
free [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b #-k,-m,-g 以单位bytes, KB, MB, 或 GB输出
-h #以人类易读的方式输出(根据数值大小自动决定使用的单位)
-l #显示高低内存详细统计信息
-o #使用老的格式输出(没有-/+buffers/cache行)
-s delay #每个多少秒,动态输出
-c count #配合-s选项使用,总共输出多少次
-V #显示该软件的版本信息
[root@python ~]# free -th
total used free shared buffers cached
Mem: 980M 327M 652M 224K 36M 189M
-/+ buffers/cache: 101M 879M
Swap: 999M 0B 999M
Total: 1.9G 327M 1.6G
total = used + free
101 = 327 - 224k - 36 - 189
879 = 652 + 36 + 189 (这里少1M是由于单位转换导致)
第一部分Mem行:
total内存总数: 980M
used已经使用的内存数: 327M
free空闲的内存数: 652M
shared当前已经废弃不用,总是0(CentOS 6.x中貌似仍然可使用)
buffers Buffer缓存内存数: 36 M
cached Page缓存内存数: 189M
关系:total = used + free + shared (used = shared+buffers+cached+应用程序使用 327M = 224K + 36M + 189M + 应用程序使用)
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数,表示实际被程序占用的内存数:101M (指的第一部分Mem行中的used - buffers - cached - shared)
(+buffers/cache) free内存数,程序仍然可以挪用的内存数: 879M (指的第一部分Mem行中的free + buffers + cached)
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别:
这两个的区别在于使用的角度来看:
第二行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用
总的包括:内核(OS)使用 + Application(X,oracle,etc)使用 + buffers + cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,
因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用内存=系统free memory + buffers + cached.
第三部分是指交换分区
buffers与cached的区别。
buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.cached是用来给文件做缓冲。
就是说:buffers是用来存储,目录里面有什么内容,权限等等。
形象比喻:看在线视频网速慢时,视频中央一直在转圈,此时就是buffer,写数据
cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,可以试一下,
先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。
形象比喻:在线视频下载完成后,再次去看,速度很快,此时是cache,读数据
为了清除缓存的cache,可以采用以下命令:
To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches
CentOS 6.x系统中的freefree [-b|-k|-m|-g|-h] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b#-k,-m,-g 以单位bytes, KB, MB, 或 GB输出-h #以人类易读的方式输出(根据数值大小自动决定使用的单位)
-l#显示高低内存详细统计信息
-o#使用老的格式输出(没有-/+buffers/cache行)
-s delay #每个多少秒,动态输出-c count #配合-s选项使用,总共输出多少次
-V #显示该软件的版本信息
[root@python ~]# free -th total used free shared buffers cachedMem: 980M 327M 652M 224K 36M 189M-/+ buffers/cache: 101M 879MSwap: 999M 0B 999MTotal: 1.9G 327M 1.6G
total = used + free 101 = 327 - 224k - 36 - 189 879 = 652 + 36 + 189 (这里少1M是由于单位转换导致)
第一部分Mem行:
total内存总数: 980Mused已经使用的内存数: 327Mfree空闲的内存数: 652Mshared当前已经废弃不用,总是0(CentOS 6.x中貌似仍然可使用)buffers Buffer缓存内存数: 36 Mcached Page缓存内存数:189M
关系:total = used + free + shared (used = shared+buffers+cached+应用程序使用 327M = 224K + 36M + 189M + 应用程序使用)
第二部分(-/+ buffers/cache):(-buffers/cache) used内存数,表示实际被程序占用的内存数:101M (指的第一部分Mem行中的used - buffers - cached - shared)(+buffers/cache) free内存数,程序仍然可以挪用的内存数: 879M (指的第一部分Mem行中的free + buffers + cached)
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别:
这两个的区别在于使用的角度来看: 第二行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用总的包括:内核(OS)使用 + Application(X,oracle,etc)使用 + buffers + cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。 所以从应用程序的角度来说,可用内存=系统free memory + buffers + cached.
第三部分是指交换分区
buffers与cached的区别。 buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.cached是用来给文件做缓冲。就是说:buffers是用来存储,目录里面有什么内容,权限等等。形象比喻:看在线视频网速慢时,视频中央一直在转圈,此时就是buffer,写数据
cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。 形象比喻:在线视频下载完成后,再次去看,速度很快,此时是cache,读数据
为了清除缓存的cache,可以采用以下命令:To free pagecache: echo 1 > /proc/sys/vm/drop_caches To free dentries and inodes: echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes: echo 3 > /proc/sys/vm/drop_caches
free指令的说明的更多相关文章
- iOS逆向工程之Hopper中的ARM指令
虽然前段时间ARM被日本软银收购了,但是科技是无国界的,所以呢ARM相关知识该学的学.现在看ARM指令集还是倍感亲切的,毕竟大学里开了ARM这门课,并且做了不少的实验,当时自我感觉ARM这门课学的还是 ...
- 步入angularjs directive(指令)--点击按钮加入loading状态
今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...
- Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具
前言 本文主要写给使用命令行来操作Git的用户,用于提高Git使用的效率.至于使用命令还是GUI(Tortoise Git或VS的Git插件)就不在此讨论了,大家根据自己的的喜好选择就好.我个人是比较 ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- [Django]用户权限学习系列之User权限基本操作指令
针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...
- 机器指令翻译成 JavaScript —— No.5 指令变化
上一篇,我们通过内置解释器的方案,解决任意跳转的问题.同时,也提到另一个问题:如果指令发生变化,又该如何应对. 指令自改 如果指令加载到 RAM 中,那就和普通数据一样,也是可以随意修改的.然而,对应 ...
- ARM的栈指令
ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...
- IL指令详细表
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- Angular学习-指令入门
1.指令的定义 从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签.指令可以很简单,也可以很复杂.AngularJS的HTML编译器会解析指令,增强模板的功能.也是组件化未来的发展趋势, ...
- AngularJS之一个元素上绑定多个指令作用域
前言 众所周知,我们在自定义指令时,会指定它的作用域,即scope设置项(默认值为false). 且,scope设置项,可以有三种值,从而也就代表三种不同的作用域,下面我们再来一起回顾下: 指令之sc ...
随机推荐
- angularJs自定义指令(directive)实现滑块滑动
最近老大让我一个效果实现在页面某一部分内滑块随着滚动条上下滑动,说明一下我们项目使用技术angularJs.大家都知道,使用jquery很好实现. 那么angular如何实现呢,我用的是自定义指令(d ...
- 图片美化增强AI接口调用手册
在调合合AI平台提供的图片美化增强API接口,API平台链接:https://ai.ccint.com/doc/api/crop_enhance_image, 因为有遇到一些问题,写篇博客记录一下 A ...
- react-native-wechat微信组件的使用
对我来说link没有成功过,所以参考了其他人的文章,原文:https://www.jianshu.com/p/6a792118fae4 第一步:要去:https://open.weixin.qq.co ...
- hard(2018.10.18)
题意:给你一棵\(n\)个节点的树,\(q\)个询问,每次询问读入\(u,v,k,op\),需要满足树上有\(k\)对点的简单路径交都等于\(u,v\)之间的简单路径,\(op=1\)表示\(k\)对 ...
- scrapy框架中Spiders用法
scrapy框架中Spiders用法 Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据 总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以 ...
- flask_之参数传递
参数篇 request接收数据 request对象 method:当前请求方法(POST,GET等) url:当前链接地址 path:当前链接的路径 environ:潜在的WSGI环境 headers ...
- 牛客练习赛42A(字符串)
传送门 结论是:一定是选取最长的那个AB连续子串. 把题面要求的a*b + a + b转化一下成(a + 1)*(b + 1) - 1,即可发现如果选取前缀后缀不连续的两段作为答案,则显然有更优解,即 ...
- BZOJ1053(数学结论进行剪枝搜索)
Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1 ...
- Python type class metaclass
'type' 是 python built-in metaclass 其他继承自 ‘type’的class都可以是 Metaclass 子类可以继承父类的metaclass 然而 __metaclas ...
- 使用express+mongoDB搭建多人博客 学习(3)connect-flash和mongodb,表单注册
1.根目录下新建settings.js,存放数据库配置 module.exports={ cookieSecret:"myblog", db:"blog", h ...