Linux上的free命令详解

Linux命令·free free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer 阅读详情

原文:https://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html

解释一下Linux上free命令的输出。

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

  • FO[2][1] = 24677460
  • FO[3][2] = 10321516  

                   1                        2                3                   4            5               6
1                 total               used             free            shared     buffers     cached
2 Mem:      24677460      23276064    1401396          0          870540   12084008
3 -/+ buffers/cache:        10321516     14355944
4 Swap:     25151484        224188       24927296

  free的输出一共有四行,第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free),这个比较清楚,不说太多。

  free输出地第二行和第三行是比较让人迷惑的。这两行都是说明内存使用情况的。第一列是总量(total),第二列是使用量(used),第三列是可用量(free)。

  第一行的输出时从操作系统(OS)来看的。也就是说,从OS的角度来看,计算机上一共有:

  • 24677460KB(缺省时free的单位为KB)物理内存,即FO[2][1];
  • 在这些物理内存中有23276064KB(即FO[2][2])被使用了;
  • 还用1401396KB(即FO[2][3])是可用的;

这里得到第一个等式:

  • FO[2][1] = FO[2][2] + FO[2][3]

FO[2][4]表示被几个进程共享的内存的,现在已经deprecated,其值总是0(当然在一些系统上也可能不是0,主要取决于free命令是怎么实现的)。

FO[2][5]表示被OS buffer住的内存。FO[2][6]表示被OS cache的内存。在有些时候buffer和cache这两个词经常混用。不过在一些比较低层的软件里是要区分这两个词的,看老外的洋文:

  • 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.

也就是说buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。

Linux和其他成熟的操作系统(例如windows),为了提高IO read的性能,总是要多cache一些数据,这也就是为什么FO[2][6](cached memory)比较大,而FO[2][3]比较小的原因。我们可以做一个简单的测试:

  1. 释放掉被系统cache占用的数据;

    echo 3>/proc/sys/vm/drop_caches

  2. 读一个大文件,并记录时间;
  3. 关闭该文件;
  4. 重读这个大文件,并记录时间;

第二次读应该比第一次快很多。原来我做过一个BerkeleyDB的读操作,大概要读5G的文件,几千万条记录。在我的环境上,第二次读比第一次大概可以快9倍左右。

  free输出的第二行是从一个应用程序的角度看系统内存的使用情况。

  • 对于FO[3][2],即-buffers/cache,表示一个应用程序认为系统被用掉多少内存;
  • 对于FO[3][3],即+buffers/cache,表示一个应用程序认为系统还有多少内存;

因为被系统cache和buffer占用的内存可以被快速回收,所以通常FO[3][3]比FO[2][3]会大很多。

这里还用两个等式:

  • FO[3][2] = FO[2][2] - FO[2][5] - FO[2][6]
  • FO[3][3] = FO[2][3] + FO[2][5] + FO[2][6]

这二者都不难理解。

  free命令由procps.*.rpm提供(在Redhat系列的OS上)。free命令的所有输出值都是从/proc/meminfo中读出的。

在系统上可能有meminfo(2)这个函数,它就是为了解析/proc/meminfo的。procps这个包自己实现了meminfo()这个函数。可以下载一个procps的tar包看看具体实现,现在最新版式3.2.8。

Linux常用命令之free命令详解 free 是一个不可或缺的命令行工具,它提供的信息对于保持系统的稳定性和高效性至关重要。掌握 free 的使用方法,可以帮助更加有效地管理和优化 Linux 系统。 阅读详情

相关推荐

2019-ICCV-台湾大学-Free-form Video Inpainting with 3D Gated Convolution and Temporal PatchGAN

高清还原破损视频 BMVC 2019 每个被破损的视频,经过AI还原之后,仿佛从来没有被破坏过一样,完整清晰。 可学习的门控时移模块,Learnable Gated Temporal Shift Module,LGTSM 整体的模型则是由U-net类生成器和TSMGAN鉴别器构成,LGTSM模块所处的位置就是生成器内,除此之外生成器还包括11个卷积层。 基于YouTube视频制作的FaceForensics和FVI数据集,总共视频数量超过16000个。 在两个数据集上,LGTSM和目前成绩最好的.

WX_Chen的博客 10万+

free 命令详解

物理メモリ利用状況の監視にfreeコマンドってどうなの?  結論からいうと、freeコマンドだけではメモリの利用状況を監視するには不十分です。これを理解するためにfreeコマンドの出力例を見てみましょう(図1)。 図1 freeコマンド出力例  図中で「-/+ buffers/cache」という行の「used」と「free」に当たる部分は、それぞれ「used-」「free+」と呼

闲云孤鹤 16万+

Python 音频: sounddevice 使用 左声道/右声道/立体声 --- 播放,录音

# coding: utf8 """ Python 音频: 使用 sounddevice 操作声卡的 左声道, 右声道, 立体声 仅限 MME, Windows DirectSound, Windows WASAPI, Windows WDM-KS 等支持双声道的驱动类型 """ import os import sounddevice as sd import soundfile mapping_left_ch = 1 # 左声道为 1 mapping_right_ch

weixin_42019925的博客 4926

linux free命令详解

一. 作用 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 二. 语法  free [选项] 三. 选项 默认情况下,即在没有选项的情况下,"free"命令显示内存的使用信息。默认按照k(b)的计数单位统计。 total:表示 总计物理内存的大小。 used:表示 已使用多少。 free:表示 可用内存多少。 Shared:表示多个进程共享的内存总额。 Buffers/cached:表示 磁盘缓存的大小。 四. 选项 ...

wd520521的博客 2万+

SocraticLM: Exploring Socratic Personalized Teaching with Large Language Models

大型语言模型(LLM)被认为是推进智能教育的一项关键技术,因为它们展示了深入理解教学场景和为学生提供个性化指导的潜力。然而,当前个性化教学中基于LLM的应用主要遵循“问答”范式,学生被动地获得答案和解释。在本文中,我们提出了苏格拉底式教学模式(SocraticLM ),它实现了一种苏格拉底式的“发人深省”的教学范式,实现了真正的课堂教师的角色,让学生积极参与到真正掌握解决问题所需的思考过程中。

weixin_43961909的博客 2880

别再只跑Demo了!用MovieLens数据集完整复现一个电影推荐系统(Python/Pandas实战)

本文详细介绍了如何利用MovieLens数据集从零构建一个完整的电影推荐系统,涵盖数据清洗、特征工程、推荐算法实现(协同过滤和矩阵分解)以及Web服务部署的全流程。通过Python和Pandas实战,读者可以掌握推荐系统的核心技术和生产环境部署技巧,不再局限于简单的Demo运行。

weixin_29062865的博客 149

linux下free命令详解

top命令是一个在终端下运行的实时性能监测工具,它以交互式的方式显示系统的状态和进程活动。通过top命令,我们可以实时查看CPU、内存、进程、负载等关键性能指标,帮助我们监测系统的健康状况。top命令在系统监测和性能调优中具有重要的作用。通过实时查看关键性能指标和进程信息,我们可以及时发现系统的瓶颈和问题,从而采取相应的措施进行优化。监测系统负载:通过观察负载平均值,我们可以评估系统的负载情况,及时调整资源分配,确保系统的稳定运行。

AnChenliang_1002的博客 1万+

同花顺【红绿趋势】幅图指标 源码分析

a10:IF(差值<=0 ,0 ,差值*0.2 ,4 ,0),STICK,linethick5,colorred;a7:IF(差值<=0 ,0 ,差值*0.8 ,4 ,0),STICK,linethick5,colorred;a8:IF(差值<=0 ,0 ,差值*0.6 ,4 ,0),STICK,linethick5,colorred;a6:IF(差值<=0 ,0 ,差值*1 ,4 , 0),STICK,linethick5,colorred;DRAWICON(先锋<0,-25,1);

zhibiaogong的博客 4049

Linux free命令及详解

一、free作用 Linux free命令用于显示内存状态。 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 二、free详解 默认情况下是以KB为单位显示 total:表示总物理内存的大小 used: ...

yinhangtian的博客 6798

核磁分析必备,ACD/Labs软件使用全解析

核磁共振(NMR)是化学分析中的重要工具,而ACD/Labs提供了一套强大的软件解决方案。从实验设计到数据解读,ACD/Labs 的 NMR 预测可以显著加快您的工作流程。使用 ACD/NMR 预测可以:根据化学结构预测 1H、13C、15N、19F 和 31P 核的全套 1D 和 2D NMR 光谱;在几秒钟内计算化学位移和耦合常数;利用内部数据训练算法,提高新化学空间的准确性。

a13981820402的博客 5632

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3260

Linux中 free 命令详解

free命令可以用来查看系统内存使用情况。我一般习惯-m参数以MB的方式查看 free -m 其他参数 -b  以Byte为单位显示内存使用情况。  -k  以KB为单位显示内存使用情况。  -m  以MB为单位显示内存使用情况。 -g   以GB为单位显示内存使用情况。  -o  不显示缓冲区调节列。  -s&lt;间隔秒数&gt;  持续观察内存使用状况。  -t...

liangkk的博客 2902

别再手动配网了!用安信可PB-02模组+PHY Mesh App,5分钟搞定蓝牙Mesh智能灯群控

本文详细介绍了如何使用安信可PB-02模组和PHY Mesh App快速搭建蓝牙Mesh智能灯群控系统。通过5分钟的硬件连接和固件烧录,用户可实现多灯分组控制、场景切换及地理围栏等高级功能,显著提升智能家居部署效率。方案特别适合需要快速实现灯光群控的场景。

weixin_28675839的博客 416

linux free命令_linux free命令详解(一)

一. 作用 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。二. 语法 free [选项]三. 选项 默认情况下,即在没有选项的情况下,"free"命令显示内存的使用信息。默认按照k(b)的计数单位统计。total:表示 总计物理内存的大小。used:表示 已使用多少。free:表示 可用内存多少。Shared:表示多个进程共享的内存总额。Buffers/...

weixin_35968240的博客 1269

【ARXML专题】-2-创建一个Classic CAN(经典CAN2.0)/CANFD的系统描述ARXML文件

目录 1 创建一个AUTOSAR系统描述 2 物理层命名以及创建ECU 3 新建一个Frame 4 新建一个PDU 5 新建一个signal 6 结尾 AUTOSAR System Description Network Explorer是一个文件编辑器,支持可视化和编辑系统描述的AUTOSAR系统描述文件和ECU摘录的通信内容,它支持架构版本4.0.3、4.1.2、4.2.1、4.2.2和4.3.0。AUTOSAR系统描述(ARXML)文件是基于XML的文件格式,描述网络通信的元素...

「汽车电子助手」的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux free命令详解

Linux的free命令详解转自http://www.cnblogs.com/imapla/archive/2013/02/15/2912752.html如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.123456$ free-mtotal used freeshared...

weixin_34301132的博客 98

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

linux free 命令详解

free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 如果加上 -h 选项,输出的结果会友好很多: 有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数: $ free -h -s 3 上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。 由于 free 命令本身比较简单,所...

a624575745856085的博客 4532

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

详解Linux命令--free

free命令是Linux中最常用的命令之一,用于显示系统内存使用情况。本文将详细介绍free命令的用法,并给出具体的示例。

简介 1893

Linux下free命令详解

free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 如果加上 -h 选项,输出的结果会友好很多: 有时我们需要持续的观察内存的状况,此时可以使用 -s 选项并指定间隔的秒数: $ free -h -s 3 上面的命令每隔 3 秒输出一次内存的使用情况,直到你按下 ctrl + c。 由于 free 命令本身比较简单,所以本文的重点会放在如何通过 free 命令了解系统当前的内存使用状况。 输出简介 下面先解释一下输出的内容: Mem 行(第二行)是内存的使用情

FaceThePast的博客 1553

Linux free 命令详解

Linux free 命令详解 free 命令用来查看系统中已用的和可用的内存。 命令选项及输出简介 关于各种命令的功能和命令选项,还是推荐英语比较好的同学直接看手册 RTFM:man free。这里简单总结一下一些重点: 功能及输出简介 free 命令显示系统中可用和使用的物理内存和交换内存的总量,以及内核所使用的缓冲区 (buffers) 和缓存 (caches) 。通过解析 /proc/meminfo 收集信息。显示的列包括: total:所有的内存 used:使用的内存 free:未使用的内存 s

weixin_44966641的博客 1179
上一篇: jquery插件开发之jquery的$.extend()、$.fn和$.fn.extend() 相关解读
下一篇: Java 正则校验金额,只能是正整数或2位小数以内
shadow_zed
博客等级 码龄10年 6289粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值