学习啦 > 学习电脑 > 操作系统 > Linux教程 > linux中free命令的详细解释

linux中free命令的详细解释

时间: 佳洲1085 分享

linux中free命令的详细解释

  linxu下的find命令可以用来查找文件,那么它的具体用法是怎样的呢?下面由学习啦小编为大家整理了linux的free命令的详细解释的相关知识,希望对大家有帮助!

  一.linux的free命令的详细解释

  free命令

  free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

  语法

  free(选项)

  选项

  -b:以Byte为单位显示内存使用情况;

  -k:以KB为单位显示内存使用情况;

  -m:以MB为单位显示内存使用情况;

  -o:不显示缓冲区调节列;

  -s<间隔秒数>:持续观察内存使用状况;

  -t:显示内存总和列;

  -V:显示版本信息。

  二、linux中的free命令的详解实例

  free -m

  total used free shared buffers cached

  Mem: 2016 1973 42 0 163 1497

  -/+ buffers/cache: 312 1703

  Swap: 4094 0 4094

  第一部分Mem行解释:

  total:内存总数;

  used:已经使用的内存数;

  free:空闲的内存数;

  shared:当前已经废弃不用;

  buffers Buffer:缓存内存数;

  cached Page:缓存内存数。

  关系:total = used + free

  第二部分(-/+ buffers/cache)解释:

  (-buffers/cache) used内存数:第一部分Mem行中的 used – buffers – cached

  (+buffers/cache) free内存数: 第一部分Mem行中的 free + buffers + cached

  可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

  第三部分是指交换分区。

  参考资料:linux的free命令中buffers与cached的区别

  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

  对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

  所以从应用程序的角度来说 可用内存=系统free memory+buffers+cached.

  buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.

  cached是用来给文件做缓冲。

  那就是说:buffers是用来存储,目录里面有什么内容,权限等等。

  而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。

  cached实验:在一台没有什么应用的机器上做会看得比较明显。记得实验只能做一次,如果想多做请换一个文件名。

  #free#man X#free#man X#free

  你可以先后比较一下free后显示buffers的大小。

  buffers实验:

  #free#ls /dev#free

  你比较一下两个的大小,当然这个buffers随时都在增加,但你有ls过的话,增加的速度会变得快,这个就是buffers/chached的区别。

  因为Linux将你暂时不使用的内存作为文件和数据缓存,以提高系统性能,当你需要这些内存时,系统会自动释放(不像windows那样,即使你有很多空闲内存,他也要访问一下磁盘中的pagefiles)

3635163