linux基本功系列之free命令实战

news/2024/3/28 18:16:00/文章来源:https://blog.csdn.net/wisdom_futrue/article/details/129256853

在这里插入图片描述

文章目录

  • 前言
  • 一. free命令介绍
  • 二. 语法格式及常用选项
  • 三. 参考案例
    • 3.1 查看free相关的信息
    • 3.2 以MB的形式显示内存的使用情况
    • 3.3 以总和的形式显示内存的使用情况
    • 3.4 周期性的查询内存的使用情况
    • 3.5 以更人性化的形式来查看内存的结果输出
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第53篇文章。

专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. free命令介绍

free 是一个 Linux 和 Unix 操作系统中常用的命令,它用于显示系统中可用内存的总量、已用内存的总量、空闲内存的总量和缓存的内存量。

二. 语法格式及常用选项

依据惯例,我们还是先查看帮助,使用 free --help

[root@mufeng ~]# free --helpUsage:free [options]Options:-b, --bytes         show output in bytes-k, --kilo          show output in kilobytes-m, --mega          show output in megabytes-g, --giga          show output in gigabytes--tera          show output in terabytes--peta          show output in petabytes-h, --human         show human-readable output--si            use powers of 1000 not 1024-l, --lohi          show detailed low and high memory statistics-t, --total         show total for RAM + swap-s N, --seconds N   repeat printing every N seconds-c N, --count N     repeat printing N times, then exit-w, --wide          wide output--help     display this help and exit-V, --version  output version information and exit

为了更直观一些,我们把常用的参数用表格来展示:

参数描述
-b以字节为单位显示内存使用情况;
-k以千字节为单位显示内存使用情况;
-m以兆字节为单位显示内存使用情况;
-g以吉字节为单位显示内存使用情况;
-h人性化显示内存使用情况,以适合人类阅读的方式显示;
-s <秒数>指定间隔秒数,以连续监控内存使用情况;
-c <次数>指定监控次数,完成后退出;
-t在汇总行中显示内存总量。

有了具体的参数之后,我们再来看实战案例:

三. 参考案例

3.1 查看free相关的信息

[root@mufeng ~]# freetotal        used        free      shared  buff/cache   available
Mem:        1863252      833224      376152      134604      653876      657068
Swap:       2097148       29448     2067700

这里出现的参数的解释:

  • total:总计物理内存的大小。

  • used:已使用多少内存。

  • free:可用有多少内存。

  • Shared:多个进程共享的内存总额。

  • Buffers/cached:磁盘缓存的大小。

  • MEM 表示内存

  • Swap表示 swap空间

问题1: 那buffers和cached都是缓存,两者有什么区别呢?

的确buffers 和 cached 都是用于缓存的内存,但是它们的缓存对象不同:

buffers:用于缓存块设备(如硬盘、光驱等)的输入输出数据,缓存的是磁盘块的数据。这个缓存会在数据被写入磁盘后被释放掉,不会持久化到磁盘上。

cached:用于缓存文件系统的数据,缓存的是文件数据。这个缓存会在文件被修改时被写入磁盘,从而变成持久化的缓存。

因此,buffers 主要是用于优化磁盘 I/O 操作,而 cached 主要是用于优化文件读取操作。在 Linux 系统中,buffers 和 cached 都会占用未被应用程序使用的内存,以提高系统性能和响应速度。当需要更多内存时,它们可以被释放掉,以供应用程序使用。

问题2 : free中的available 是什么

“available” 的美音标是 /əˈveɪləbl/

available 字段是指系统中可用的内存量,它表示系统当前可用于分配给新进程使用的内存量。这个值并不完全等于 free 字段,因为还考虑了缓存的内存和已经被分配但可以被回收的内存。

available 字段的计算方法是:free + buffers + cached - low water mark,其中 low water mark 是一个系统内部预留的缓冲区,用于保证系统能够保持足够的缓存能力,以应对高峰期的内存需求。

available 字段可以用来估算系统还可以为新进程提供的内存空间,因为它考虑了系统当前缓存的内存,以及一些可以被回收的内存。但是需要注意的是,这个值并不是绝对精确的,因为它只是一个估算值,而且可能会随着系统使用情况的变化而变化。

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

3.2 以MB的形式显示内存的使用情况

以M对形式显示,此处用的是MB

[root@mufeng ~]# free -mtotal        used        free      shared  buff/cache   available
Mem:           1819         813         367         131         638         641
Swap:          2047          28        2019
[root@mufeng ~]# 

3.3 以总和的形式显示内存的使用情况

此处使用 -t参数,代码如下:

[root@mufeng ~]# free -ttotal        used        free      shared  buff/cache   available
Mem:        1863252      833156      376216      134604      653880      657136
Swap:       2097148       29448     2067700
Total:      3960400      862604     2443916
[root@mufeng ~]# 

3.4 周期性的查询内存的使用情况

-s参数可以周期行的查询内存的使用情况:

比如每五秒钟查询一次:

[root@mufeng ~]# free -s 5total        used        free      shared  buff/cache   available
Mem:        1863252      833220      376152      134604      653880      657072
Swap:       2097148       29448     2067700total        used        free      shared  buff/cache   available
Mem:        1863252      833220      376152      134604      653880      657072
Swap:       2097148       29448     2067700

可以看到每五秒钟会跳一次,也就是查询一次。

3.5 以更人性化的形式来查看内存的结果输出

此处我们用到 -h参数

[root@mufeng ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.8G        813M        367M        131M        638M        641M
Swap:          2.0G         28M        2.0G
[root@mufeng ~]# 

以上就是free命令的全部内容,后续如果有新的感悟在继续添加。

总结

free命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_75119.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【双U网络:传感器间自监督:全色锐化】

W-NetPan: Double-U network for inter-sensor self-supervised pan-sharpening &#xff08;W-NetPan&#xff1a;用于传感器间自监督全色锐化的双U网络&#xff09; 由于遥感数据的提供日益增多&#xff0c;可以通过全色锐化方法来处理空间-光谱限制。然而&#xff0c;融合…

【java基础】反射详解

文章目录基本介绍Class类Filed类Method类Constructor类获取Annotation信息Modify工具类实例运用(修改字符串值)总结基本介绍 反射库&#xff08;reflection library)提供了一个丰富且精巧的工具集&#xff0c;可以用来编写能够动态操纵Java代码的程序。使用反射&#xff0c;Ja…

linux-中断下半部

引用preempt宋宝华&#xff1a; 是谁关闭了Linux抢占&#xff0c;而抢占又关闭了谁&#xff1f;Linux用户抢占和内核抢占详解(概念, 实现和触发时机)--Linux进程的管理与调度(二十&#xff09;内核抢占实现(preempt)Linux中的preempt_count - 知乎 (zhihu.com)linux 中断子系统…

测试行业干了5年,从只会点点点到了现在的测试开发,总算是证明了自己

测试不止是点点点 我感觉我是一个比较有发言权的人吧&#xff0c;我在测试行业摸爬滚打5年&#xff0c;以前经常听到开发对我说&#xff0c;天天的点点点有意思没&#xff1f; 和IT圈外的同学、朋友聊起自己的工作&#xff0c;往往一说自己是测试&#xff0c;无形中也会被大家…

再度盈利,搜狐稳了?

2016年在宣布要用3年时间回归互联网舞台中心之后&#xff0c;很长一段时间内张朝阳积极活跃在各种社交媒体上&#xff0c;完全是一派“积极出山”的姿态。而后畅游从美股退市&#xff0c;搜狗“卖身”腾讯&#xff0c;一系列的收缩动作又似乎是在逐渐远离喧嚣。而在最近三年&am…

华为OD机试模拟题 用 C++ 实现 - 自动曝光(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 最多获得的短信条数(2023.Q1)) 文章目录 最近更新的博客使用说明自动曝光题目输入输出描述示例一输入输出说明示例二输入输出说明Code使用说明 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出࿰

SRC挖掘之Access验证校验的漏洞挖掘

漏洞已修复&#xff0c;感觉某大佬的知识分享 任意用户密码重置->可获取全校师生个人min感信息 开局就是信息收集 对于挖掘edu的信息收集 1.可尝试谷歌搜索语法&#xff0c;获取学号信息 1. 旁站的渗透获取 2. 学校的贴吧获取(大部分都是本校学生) 当然我就是闲着蛋疼,进了…

让马斯克反悔的毫米波雷达,被国产雷达头部厂商木牛科技迭代到了5D时代

近日&#xff0c;特斯拉或将在其HW4.0硬件系统配置一枚高精度4D毫米波雷达的消息在外网刷屏。据分析&#xff0c;“纯视觉”信仰者马斯克之所以做出这样的决定&#xff0c;一方面是减配了雷达的特斯拉自动驾驶&#xff0c;表现不尽如人意&#xff1b;另一方面也跟毫米波雷达的技…

有趣的HTML实例(十四) 窗边风景动画(css+js)

不要憎恨你的敌人&#xff0c;那会影响你的判断力。 ——《教父》 目录 一、前言 二、往期作品回顾 三、作品介绍 四、本期代码介绍 五、效果显示 六、编码实现 index.html style.css script.js 七、获取源码 公众号获取源码 获取源码&#xff1f;私信&#xff1…

Javascript的API基本内容(四)

一、日期对象 获取时间戳的方法&#xff0c;分别为 getTime 和 Date.now 和 new Date() // 1. 实例化const date new Date()// 2. 获取时间戳console.log(date.getTime()) // 还有一种获取时间戳的方法console.log(new Date())// 还有一种获取时间戳的方法console.log(Date.n…

【微信小程序-原生开发+TDesign】通用功能页封装——地点搜索(含腾讯地图开发key 的申请方法)

效果预览 核心技能点 调用腾讯地图官方的关键字地点搜索功能&#xff0c;详见官方文档 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/methodGetsuggestion 完整代码实现 地点输入框 <t-input value"{{placeInfo.title}}" bindtap"searchPlace" dis…

硬件工程师——门控开关的设计

假设自己是一个工程师&#xff0c;那么我们怎么介绍自己呢&#xff1f; 我们首先需要可以自己独立设计项目&#xff0c;需要每一个工程师在开始阶段可以独立做项目&#xff0c;从而提高薪水 那么我们怎么提高做项目的能力呢&#xff1f; 通过项目来积累经验&#xff0c;在短…

推荐几个实用的在线教程(建议收藏)

hello&#xff0c;大家好&#xff0c;我是木荣君。作为一名技术人员&#xff0c;工作中熟练使用各种管理及设计工具是一项必备的技能。今天给大家分享一下我工作中经常查看和学习的几个在线教程地址。供大家参考学习&#xff0c;建议收藏&#xff0c;真的很实用&#xff01; Gi…

InnoDB数据页结构__盛放记录的大盒子

一、不同类型的页简介 前边我们简单提了一下页的概念&#xff0c;它是InnoDB管理存储空间的基本单位&#xff0c;一个页的大小一般是16KB。InnoDB为了不同的目的而设计了许多种不同类型的页&#xff0c;比如存放空间头部信息的页&#xff0c;存放Insert Buffer信息的页&#xf…

MySQL 横表和竖表相互转换

一 竖表转横表 1. 首先创建竖表 create table student ( id varchar(32) primary key, name varchar (50) not null, subject varchar(50) not null, result int); 2. 插入数据 insert into student (id, name, subject, result) values (0001, 小明, 语文, 83); insert into…

一文透视宝莱特CRM如何建设与落地

宝莱特集团成立于1993年&#xff0c;是一家国家高新技术企业&#xff0c;始终坚持在医疗器械领域的深耕细作&#xff0c;坚持患者第一、临床优先&#xff0c;业务板块涵盖生命信息与支持、肾病医疗和大健康医疗三大领域。自成立以来&#xff0c;宝莱特推出了多个中国第一的自主…

八通道触摸芯片GTC08L Pin to Pin替代启攀微八通道触摸芯片

能Pin to Pin替代启攀微八通道触控芯片的电容式触摸芯片-GTC08L是一款非常适用于小功率音箱上超稳定超抗干扰低功耗八通道电容式触摸IC&#xff1b;可通过触摸实现各种逻辑功能控制&#xff1b;可以在发动机运行下进行8通道电容传感&#xff1b;对电磁兼容、电磁干扰、温湿度变…

Java的运算操作

个人主页&#xff1a;平行线也会相交 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【JavaSE_primary】 文章目录算术运算符增量运算符注意自增自减运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非&#xff01;…

华为OD机试题,用 Java 解【考古学家】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…

VB6遍历目录(文件夹和文件)

日期&#xff1a;2023年2月27日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对的地方&#xf…