`
AllenZhang
  • 浏览: 52445 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

free 命令的一些说明

阅读更多

free命令用了很久了,但是知其然有些不知其所以然。今天为了追查一个内存泄漏问题,特意去仔细研究了一下。

一般来说,该命令输出如下:

 

             total       used       free     shared    buffers     cached
Mem:       2059500    2042852      16648          0      26708     303484
-/+ buffers/cache:    1712660     346840
Swap:      2064376     684460    1379916
 

先解释一下字段:

  • Total: 总可用物理内存数。linux内核会占去一部分。
  • Used: 已经使用内存数。更加确切地说,应该是含有数据的内存数。
  • Free:空余内存数。更加确切地说,是没有数据空的内存数。
  • Shared: 共享内存数。被多个应用(进程)共享的内存。
  • Buffers:这个其实是写入用的缓存。这里涉及到linux的I/O策略。 一些数据暂时写入内存中,而不直接写到硬盘上。当做flush操作的时候,再把数据写入硬盘。写入以后,Buffer是可以释放的。因此Buffer其实是一种可以供征集的内存。
  • Cached: 提供读取操作用的缓存。 依然是涉及到I/O策略。预先读取的数据,如果暂时不使用,就先缓存在内存中供以后读取调用(如果内存有空闲)。Cached也是可以随时释放的。且比Buffer更加容易征集。

由此可知,Cached和Buffered都是可用内存。

因此,真正使用的内存,实质是Used - Cached - Buffers. 

实际可用空余内存是free + Cached + Buffers. 

 

分享到:
评论

相关推荐

    Linux上的free命令详解

    解释一下Linux上free命令的输出。  下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如: FO[2][1] = 24677460 FO[3][2] = 10321516 1 2 ...

    yiyulianzhou#PHP-NOTES#free命令1

    free命令free命令是用来查看内存占用情况, -m表示以M为单位显示, -h表示以方便阅读的方式显示参数说明total 内存总数used 已经使用的内存数f

    Linux free命令用法详解

    Linux free命令 Linux free命令用于显示内存状态。 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 语法free [-bkmotV][-s ] 参数说明: -b 以Byte...

    ExplodedAssembly:FreeCAD工作台可创建装配体的分解图和动画

    爆炸组装 FreeCAD工作台可创建装配体的分解图和动画。 爆炸的装配体图标。... 使用ctrl + alt + t键打开命令提示符(终端) 安装git: sudo apt-get安装git 克隆存储库: git clone .FreeCAD / Mod / ExplodedA

    入门学习Linux常用必会60个命令实例详解doc/txt

    4.命令说明 shutdown 命令可以安全地将系统关机。有些用户会使用直接断掉电源的方式来关闭Linux系统,这是十分危险的。因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使...

    C-Free教程(*.chm格式的)

    C-Free软件介绍、快捷键命令、界面简介、对话框说明、及使用方法。

    Linux命令大全(CHM格式离线版)

    进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip ...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    orcale常用命令

    列出全部SQL命令和SQL*Plus命令 SQL>help 列出某个特定的命令的信息 SQL>help 命令名 c、显示表结构命令DESCRIBE SQL>DESC 表名 d、SQL*Plus中的编辑命令 显示SQL缓冲区命令 SQL>L 修改SQL命令 首先要将待改正行...

    Linux命令Top系统变慢处理

    内存:free 硬盘:df 磁盘IO:iostat 网络IO:ifstat Top 精简版 命令:uptime:直接查看 先查看 cpu 和mem(内存):看哪个线程占用多大内存 再看:load average(系统的负载均衡):1.36 0.81 0.37 3个值, 平均...

    Yale free 雅乐简谱打谱软件

    Yale free 雅乐简谱打谱软件这是免费的 开发 张晓 http://www.yalesoft.com/ 雅乐简谱对硬件有什么要求? 推荐使用CPU:PIII800以上, 内存:256M以上 雅乐简谱能在哪些操作系统下运行? Windows 2000/NT/XP/...

    Linux命令大全

    进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip ...

    查看内存CPU资源

    解释一下Linux上free命令的输出。  下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)

    FreeMat说明书

    FreeMat是一款发布于GPL协议下的开源跨平台科学计算软件,功能上类似于Mathworks公司的Matlab及Research Systems公司的IDL这些商业软件。与Matlab、Octave等都具有较好的兼容性。FreeMat相对于Matlab而言,具有体积...

    如何编写批处理文件批处理文件批处理文件

    在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。 2.@ 命令 表示不显示@后面的命令,在入侵过程中(例如使用...

    django3-site-template:一个基本Django 3.2站点的模板,带有一些有用的基础对象,Bootstrap 4.6.0,FontAwesome 5.15.3免费版和入门模板

    一个基本Django 3.2站点的模板,带有一些有用的基本抽象模型, , Free和一些入门模板。 要求 Python 3.6以上版本。 这是,是类型提示和f字符串支持所必需的。 (使用以下安装说明中的命令与Pip一起安装。 您想...

    opencv3 编程入门python代码

    我自己在学习《OpenCV3编码入门》过程... 由于opencv3系列版本中,SURF、ORB等算法移动到non-free模块,python安装opencv时,建议用 pip install --upgrade opencv-contrib-python。 这个命令下载的opencv带有扩展库。

    behave-theme:主题让您像互联网上的猫一样快乐,摩根·弗里曼(Morgan Freeman)的性感嗓音

    这个主题让您像互联网上的猫一样快乐,还有Morgan Freeman的性感嗓音。 花我的钱! 完全免费! 只需按照以下说明操作即可...它们来了... TextMate 只需将.tmTheme文件复制到~/Library/Application Support/...

    sizechart:更新了FreePeople.com的尺寸表

    因此下面的URL就足够了: //cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.runtime.js 把手的gulp构建命令如下: gulp hbs一次和gulp watch-hbs连续编译文件更改尺寸图可进行内部预览快速说明在...

Global site tag (gtag.js) - Google Analytics