我使用过的Linux命令之free - 显示内存的使用情况

我使用过的Linux命令之free - 显示内存的使用情况

本文链接:http://codingstandards.iteye.com/blog/780289    (转载请注明出处)

用途说明

free命令用来显示内存使用情况。display information about free and used memory on the system。

常用参数

b 以字节为单位显示。
-k 以K字节为单位显示。默认显示。
-m 以兆字节为单位显示。

 

-s <seconds> 每隔多少秒重复执行。可编写一个脚本用于监控。

使用示例

示例一

[root@sunrise root]# free
                    total        used        free     shared    buffers     cached
Mem:       4091428    4073120      18308          0     112784    2564792
-/+ buffers/cache:    1395544    2695884
Swap:      8385888          0    8385888
[root@sunrise root]#

 

 

数值的单位是KBytes。

Mem开头的行:

total是指内存总数。比如这台机器4G内存,实际上已经扣除掉了作为显存的部分。

used是指操作系统已经使用的内存数。这部分既包括操作系统本身使用的部分,也包括应用程序已经使用的部分,还包括缓存的部分。

free是指操作系统还没有使用的内存数。我们通常看到这部分比较小。

shared已经废弃不用,总是显示0。

buffers和cached是指作为缓存的内存数。

-/+ buffers/cache开头的行:(重点看这行)

used列是指应用程序总共使用的内存数。等于Mem.used-Mem.buffers-Mem.cached。

free列是指应用程序还未使用的内存数。这个数据才是我们需要关注的空闲可用内存数。等于Mem.free+Mem.buffers+Mem.cached。

如果此行中free列的数据太小,那么就需要优化程序或者增加物理内存了。

 

示例二

[root@bbqztweb root]# free -s 60
             total       used       free     shared    buffers     cached
Mem:       1016532     996320      20212          0      97964     166716
-/+ buffers/cache:     731640     284892
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996328      20204          0      97964     166724
-/+ buffers/cache:     731640     284892
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996460      20072          0      97964     166724
-/+ buffers/cache:     731772     284760
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996316      20216          0      97964     166740
-/+ buffers/cache:     731612     284920
Swap:      2040244     281544    1758700


[root@bbqztweb root]#

 

示例三

free命令实际上是根据/proc/meminfo生成的。-/+ buffers/cache:这行是计算出来的。

[root@bbqztweb root]# free -b; cat /proc/meminfo
             total       used       free     shared    buffers     cached
Mem:    1040928768 1017909248   23019520          0  100220928  172040192
-/+ buffers/cache:  745648128  295280640
Swap:   2089209856  288301056 1800908800
        total:    used:    free:  shared: buffers:  cached:
Mem:  1040928768 1017909248 23019520        0 100220928 371302400
Swap: 2089209856 288301056 1800908800
MemTotal:      1016532 kB
MemFree:         22480 kB
MemShared:           0 kB
Buffers:         97872 kB
Cached:         168008 kB
SwapCached:     194592 kB
Active:         667076 kB
ActiveAnon:     510760 kB
ActiveCache:    156316 kB
Inact_dirty:    125964 kB
Inact_laundry:   20508 kB
Inact_clean:     17308 kB
Inact_target:   166168 kB
HighTotal:      122044 kB
HighFree:         5564 kB
LowTotal:       894488 kB
LowFree:         16916 kB
SwapTotal:     2040244 kB
SwapFree:      1758700 kB
CommitLimit:   2548508 kB
Committed_AS:  1063004 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB
[root@bbqztweb root]#

 

示例四

[root@bbqztweb root]# free -b -s 1 | grep 'buffers/cache:'
-/+ buffers/cache:  745574400  295354368
-/+ buffers/cache:  745574400  295354368
-/+ buffers/cache:  745574400  295354368
Ctrl+C
[root@bbqztweb root]# free -b -s 1 | grep 'buffers/cache:' | awk '{print $4}'
Ctrl+C

怪哉,没有显示任何输出。但下面的是可以输出东西的,难道管道线多了就不灵了?why?

[root@bbqztweb root]# free -b -s 1 | awk '{print $4}'                        
shared
22200320
295211008
1800908800

shared
22200320
295211008
1800908800


[root@bbqztweb root]#

问题思考

1. free的输出结果中buffers和cached的含义?

2. free -b -s 1 | grep 'buffers/cache:' 可以打印出结果,free -b -s 1 | grep 'buffers/cache:' | awk '{print $4}' 却打印不出任何东西,为什么?

相关资料

【1】扶凯 linux的free命令详解-内存是拿来用的不是拿来看的

【2】脚本的甜品屋 linux free命令: 显示内存信息

【3】小菜linux free命令详解

【4】阿邙的收藏夹 Free命令详解和释放linux Cache

 

返回 我使用过的Linux命令系列总目录

 

WSL2+Docker+Ollama:解锁Windows本地GPU加速运行DeepSeek-R1模型 本文详细介绍了在Windows系统上,通过WSL2、Docker和Ollama的组合方案,实现本地GPU加速运行DeepSeek-R1模型的全过程。该方案解决了Windows环境下Ollama默认无法调用NVIDIA显卡的痛点,通过配置Docker的GPU支持,强制将计算任务分配给GPU,从而显著提升文本生成速度与效率,为开发者提供了一个便捷的本地AI测试环境。 阅读详情

相关推荐

双内核架构 Xenomai 4 安装教程

双内核 Xenomai 4 安装指南

^_^ 4466

内存查看--Free命令详解

free命令用于查看系统内存使用情况

夏颜的博客 4144

CORS(跨域资源共享)漏洞解决方法

最近,测试环境上的项目被360测试人员检测出来有一个CORS漏洞,以下记录下漏洞问题与解决方法。 一、低危漏洞:CORS漏洞问题 测试人员访问某个url,将请求头中的Origin字段修改为任意值,结果仍然能获得正确的响应报文,就说明有CORS漏洞。 当CORS的设置不正确时,就会带来安全问题;当响应头中的Access-Control-Allow-Origin设置为null或*时,表示信任任何域,这时候就可能引入安全问题。 修复方法是合理配置CORS,判断Origin是否合法;具体说就是不让在nginx或t

BHSZZY的博客 3万+

free命令--检测Linux内存使用情况

Linux是最有名的开源操作系统之一,它拥有着极其巨大的命令集。确定物理内存和交换内存所有可用空间的最重要、也是唯一的方法是使用“free”命令。 Linux “free”命令可以给出类Linux/Unix操作系统中物理内存和交换内存的总使用量、可用量及内核使用的缓冲区情况。   这篇文章提供一些各种参数选项的“free”命令,这些命令对于你更好地利用你的内存会有帮助。   1. ...

u010081853的专栏 389

51单片机也能玩转GC9A01彩屏?超详细移植指南与性能优化技巧

本文详细介绍了如何在51单片机上高效驱动GC9A01彩屏,包括硬件连接优化、SPI模拟驱动、内存管理策略及高级刷新技术。通过分段缓冲、颜色压缩和差异化刷新等技巧,显著提升显示性能,使51单片机也能流畅运行240x240分辨率的彩色TFT屏幕。

hp777的博客 189

vit的cam和注意力图: VIT模型的可解释性

VIT的热力图怎么画

YI_SHU_JIA的博客 1万+

free: seconds argument `1‘ failed

查看当前的版本 linuxer@ubuntu:~$ free -V free from procps-ng 3.3.12 version 3.3.10 and in 3.3.9 有这个bug 3.3.12版本已经修复 3.3.12版本测试见下图

We are all in the gutter, but some of us are looking at the stars. 1299

用ADS2023手把手仿真SKYWORKS SMA1234变容二极管:从Datasheet到S参数结果全流程

本文详细介绍了如何使用ADS2023仿真SKYWORKS SMA1234变容二极管的全流程,从Datasheet参数解析到S参数结果验证。通过等效电路建模、关键公式编写和仿真设置,帮助工程师掌握变容二极管在射频电路设计中的应用技巧,提升仿真精度和工程实践能力。

weixin_29233333的博客 502

每日一命令(13)free - (Display amount of free and used memory in the system)

free - (Display amount of free and used memory in the system)man free 查看命令文档free 参数 -bkmgs -b 字节显示 -k kb显示 -m 以兆显示 -g 以G显示 -s 多久请求一次(秒)**total 总的物理内存大小

guofeng719的专栏 706

GD32F303开发实战(一):从零搭建MDK工程与时钟配置详解

本文详细介绍了如何从零开始为GD32F303微控制器搭建一个清晰、可维护的MDK工程模板。内容涵盖开发环境准备、工程目录结构规划、文件分组管理、关键工程配置,并重点解析了时钟树原理,手把手指导配置108MHz系统时钟。通过实战步骤与常见问题排查,帮助开发者构建一个稳定可靠的开发基础,便于后续功能扩展。

weixin_29174141的博客 269

华为面试手撕真题【字符串压缩】

华为面试手撕真题【字符串压缩】

MISAYAONE的博客 1万+

Linux free 命令详解:显示系统的内存使用情况,包括物理内存、交换内存(swap)以及缓存的使用情况

free命令用于显示系统的内存使用情况,包括物理内存、交换内存(swap)以及缓存的使用情况。通过free命令,用户可以快速查看系统的内存资源是否充足,以及哪些部分的内存被占用了。它是进行系统性能调优、监控内存使用情况和故障排除时非常有用的工具。free命令提供了一个简单而有效的方式来查看系统的内存使用情况,帮助用户了解内存和交换空间的分配。它支持多种选项,可以调整输出单位、显示内存动态变化、提供更详细的信息。free命令在系统管理、性能监控和故障排除中有着广泛应用,帮助管理员保持系统资源的高效使用。

yangchuang111213的博客 2504

基于 MATLAB 的精馏塔模拟仿真

基于 MATLAB 的精馏塔模拟仿真精馏塔是一种重要的化工设备,其中乙烯精馏塔和醋酸乙烯精馏塔是常见的两种精馏塔。本文基于 MATLAB 软件,给出了针对这两种精馏塔的模拟仿真代码。

与其临渊羡鱼,不如退而结网 903

linux free命令-显示内存的使用情况

更多Linux性能监测与优化关注 Linux命令大全 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 语法 free(选项) 选项 -b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列; -s<间隔秒数>:持续观察内存使...

diaoxie6274的博客 174

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux 显示系统内存的使用情况 free命令

1、输出简介 Mem 行(第二行)是内存的使用情况 Swap 行(第三行)是交换空间的使用情况 total 列显示系统总的可用物理内存和交换空间大小 used 列显示已经被使用的物理内存和交换空间 free 列显示还有多少物理内存和交换空间可用使用 shared 列显示被共享使用的物理内存大小 buff/cache 列显示被 buffer 和 cache 使用的物理内存大小 available 列显示还可以被应用程序使用的物理内.

piaomiao_的博客 992

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

linux内存换算成b显示,Linux命令之free - 显示内存的使用情况

用途说明free命令用来显示内存使用情况。display information about free and used memory on the system。常用参数b 以字节为单位显示。-k 以K字节为单位显示。默认显示。-m 以兆字节为单位显示。-s 每隔多少秒重复执行。可编写一个脚本用于监控。使用示例示例一[root@sunrise root]# free ...

weixin_33204286的博客 296

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

buffers linux命令,free命令_Linux free 命令用法详解:显示内存的使用情况

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。语法free(选项)选项-b:以Byte为单位显示内存使用情况;-k:以KB为单位显示内存使用情况;-m:以MB为单位显示内存使用情况;-o:不显示缓冲区调节列;-s:持续观察内存使用状况;-t:显示内存总和列;-V:显示版本信息。实例free -mtotal used free ...

weixin_39779975的博客 179

【Shell 命令集合 系统管理 】⭐⭐⭐Linux 显示系统内存的使用情况 free命令 使用指南

free命令用于显示系统内存的使用情况,包括物理内存(RAM)和交换空间(Swap)。它提供了有关内存总量、已使用内存、空闲内存以及缓冲区和缓存的信息。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1372

[linux]free命令详解-显示内存的使用情况

本文部分转载于https://blog.youkuaiyun.com/sunansheng/article/details/51942522 free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 选项 -b:以Byte为单位显示内存使用情况; -k:以KB为单位显示内存使用情况; -m:以MB为单位显示内存使用情况; -o:不显示缓冲区调节列;...

weixin_30838921的博客 402

linux 58736端口,F - free - 显示内存的使用情况 - 《Linux命令大全搜索工具(旧版)》 - 书栈网 · BookStack...

free显示内存的使用情况补充说明free命令 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。语法free(选项)选项-b# 以Byte为单位显示内存使用情况;-k# 以KB为单位显示内存使用情况;-m# 以MB为单位显示内存使用情况;-g# 以GB为单位显示内存使用情况。-o# 不显示缓冲区调节列;-s# 持续观察内存使用状况;-t# 显示内存总和列;-V# 显示...

weixin_31919471的博客 122

linux命令学习笔记(四)——du、df、more、less、free

du 显示文件或目录占用的磁盘空间 du -a 显示全部文件的大小,包括每个子目录下的文件 du -h 以K,M,G显示每个文件的大小,提高可读性 du -s 仅显示总计大小 df 显示文件系统的磁盘使用情况 df -h 以可读的形式显示磁盘的使用情况 df -x 排除指定的文件系统 more 一页一页的显示文件内容 more file 分页显示文件内容 more -s file 若...

zzrs_xssh的博客 593

Linux系统监控工具就是free命令的作用

在Linux系统中除了 ps 和 top 命令外,另一个常用的 Linux 系统监控工具就是 free 命令,free 命令不仅可以用来显示内存的使用状态信息,还可以获得物理内存和虚拟内存的使用量。 可以直接使用 free 命令来查看系统内存的状态信息。free 命令的基本格式如下: 选项 含义 -b 以 Byte(字节)为单位,显示内存使用情况。 -k 以 KB 为单位,显示内存使用情况,此选项是 free 命令的默认选项。 -m 以 MB 为单位,显示内存使用情况。 -g 以

coderOnline的博客 262

linux 内存指令大全

显示文件系统的磁盘使用情况,并以人类可读的格式(自动选择合适的单位 KB、MB、GB)显示,同时显示每个文件系统的类型。说明: 是一个整数,表示递归的层数。功能: 在输出中添加一列,显示每个文件系统的类型(例如 ext4、xfs、btrfs 等)。功能: 以人类可读的格式显示内存使用情况,自动选择合适的单位(KB、MB、GB)。功能: 以人类可读的格式显示磁盘使用情况,自动选择合适的单位(KB、MB、GB)。功能: 以人类可读的格式显示磁盘使用情况,自动选择合适的单位(KB、MB、GB)。

weixin_64442495的博客 1万+

free命令详解-非常详细

free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等信息,当查询到时哪里的磁盘空间负载的可以选择删除不需要的文件来释放空间。free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。free 命令显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

SAGGITARXM 925

Linux操作系统基础命令-free

Linux 基础命令 freefree 显示内存使用情况free 用法free 选项free 示例参考资料注脚 free 显示内存使用情况 Linux free1 命令(free) 用来显示Linux系统中空闲的、已用的物理内存及交换分区(swap)内存,及被内核使用的buffer。 其数据取自 /proc/meminfo文件。在这个文件中,数据的存储就是以KB为单位,所以free的默认值也是KB...

boenxia的专栏 1161

Linux(Ubuntu)之free命令

free命令显示当前系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 实例: 语法: free [options] 选项: -b:以Byte为单位显示内存使用情况 -k:以KB为单位显示内存使用情况 -m:以MB为单位显示内存使用情况 -s N:每N秒打印一次 -t:显示总的RAM + swap -V:显示版本信息 字段说明: total:总内存...

WZ18810463869的博客 5806
上一篇: 我使用过的Linux命令之if - Bash中的条件判断语句
下一篇: 我使用过的Linux命令之while - Bash中的While循环
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值