linux基本功系列之free命令实战
创始人
2024-05-27 05:52:45
0

在这里插入图片描述

文章目录

  • 前言
  • 一. 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命令在日常工作中,应用的比较广泛,一定要认真学习,记熟记牢常用参数。

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

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

相关内容

热门资讯

清朝有很多有名的历史人物,能给... 清朝有很多有名的历史人物,能给大家说几个清朝的历史人物吗?林则徐,张之洞,乾隆皇帝,曾国藩,朱耷,这...
曹丕的“太子四友”指的是谁 曹丕的“太子四友”指的是谁首先说,曹丕这四个,陈群司马懿是顶级的谋士和政治家,吴质有些小聪明,朱铄不...
在这次遇难者中存在了几名幸存者... 在这次遇难者中存在了几名幸存者。这句话是不是逻辑错误这句话的逻辑没有问题,有问题的是用词不当。遇难者...
在中国古代,有许多充满哲学智慧... 在中国古代,有许多充满哲学智慧的成语典故、寓言故事,如...在中国古代,有许多充满哲学智慧的成语典故...
清澈的意思是什么,… 清澈的意思是什么,…清净而明澈清而透明【造句】看着他清澈而又天真的眼眸,我的心久久不能平静……
蚂蚁森林合种爱情树一方退出怎么... 蚂蚁森林合种爱情树一方退出怎么找回来两个人合种的爱情树,我退出来,我怎么再次加入进去继续合作那个树?...
有好看的古代修炼小说推荐吗? 有好看的古代修炼小说推荐吗?古代重生穿越修炼......让我帮你找一下这些古代修炼的小说,找到这些类...
女主重生爱上前世辜负的人 女主重生爱上前世辜负的人重生我是你正妻渣女重生之竹马重生之弃渣重生之夫君可欺重生之换我疼你重生妇归来...
华胥引有广播剧吗 华胥引有广播剧吗现有的华胥引的广播剧是忆语广播剧社出品的,只有十三月和杯(这个是错字,请无视,居然输...
选文韩麦尔先生在说了,我的朋友... 选文韩麦尔先生在说了,我的朋友们我就要离开你们呢了,再见了银头鲑鱼tj75rt6yturdrruv ...
中通快递从北京保定市到广东揭阳... 中通快递从北京保定市到广东揭阳普宁要多久?中通快递从北京保定市到广东揭阳普宁要多久?从北京到广东需要...
关于离婚悲伤的歌曲 关于离婚悲伤的歌曲关于离婚悲伤的歌曲林俊杰《可惜没如果》 张靓颖《我走以后》 金志文《流着泪说分手》...
形容文笔差怎么说啊? 形容文笔差怎么说啊?哥哥姐姐,麻烦问下,我是做文员的,形容文案方面的工作很差应该怎么说啊?粗鄙怎么样...
我想做未婚妈妈,可行吗? 我想做未婚妈妈,可行吗?没关系吧?我同学好多他们妈妈都是30岁以后省得他们,都没事啊,但是如果你自己...
如何在两个excel表格里筛选... 如何在两个excel表格里筛选出重复的名字如何在两个excel表格里筛选出重复的名字1、电脑打开EX...
且试天下 哪些小说是用白绫做武... 且试天下 哪些小说是用白绫做武器的?神雕侠侣吖- -..小龙女一开始就是用白绫的聊斋 辛十四娘嘿嘿~...
自带高冷体质,笑起来温暖又治愈... 自带高冷体质,笑起来温暖又治愈的星座,你了解吗?虽然天生高冷体质,但是笑起来特别的温暖治愈的新作用天...
火星未解之谜 火星未解之谜多列举一些,每个事例最好长一点,谢啦~“火星人脸”, “地表被水冲击河道”,“原始大气和...
我是1991年10月4号生的,... 我是1991年10月4号生的,是什么星座啊有的说是处女座有的说是天平座,糊涂了,到底是什么啊很负责任...
梦见白狐狸,然后当时我骑着自行... 梦见白狐狸,然后当时我骑着自行车,我想躲开它,他很凶的的追赶我,最后它向我扑了过来,然后我就醒乐.你...