首页 技术 正文
技术 2022年11月9日
0 收藏 474 点赞 2,417 浏览 3539 个字

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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,498
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,911
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,745
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,501
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,139
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,303