Linux这个系统的管理里面linux系统命令topfree的使用及参数详解,监控内存使用这一方面情形,对每一个运维工作人员,并对那些开发者来讲的话,都是必须得掌握的具备基础性这类东西的技能。free这个命令,它属于那种查看系统内存的时候又查看交换空间去 使用这一状况的居于重要位置有关键作用之工具,能以超快速度来助力我们了知晓得内存被分配情况linux操作系统版本,还有处于使用多少量方面以及剩余之下属资源,会给那些针对系统予以优化去 这一部分以及故障需要排查这一起的情况,供给有着关键性的那种数据方面给予以支撑之类的情况。跟top这个命令是专门着重处于针对进程来监控 这一个实际状况不一样,free更加是向内存这一个大层面当中聚焦去整个儿统计,可也是在整个往常这类针对运维这一个工作里面是绝对 少 都没得肯定不行之物一件利器.

free命令的基本使用方法

于终端直接键入free,不附加任何参数,就会呈现系统内存的简略概况,在默认状况下其输出含有physical memory (Mem)、swap space( Swap)这两大部分,并罗列出total capacity(总容量)、used amount(已使用量)、free amount( 空闲量)这类信息,在此之中buff/cache列常常会引发困惑,它是指为系统缓存及缓冲所占用的内存,这一部分内存在process有需求时能够被recovery并再度利用。而为此评定usable 内存条attention应注重available列而非仅仅去查看free列 并呈现系统Mem简略概况 在默认状况下输出物理内存交换空间两大部分显示各类 信息列常令困惑表示缓存缓冲占用内存可回收利用据此评定应以关注其他列 已 非仅 !此 。其 ;所 ;, ;会 。

举例来讲,运行 free -h 能够以有人情味且温和的方式呈现数据,会机械式地且不停延后着以G与M等为单位进行换算,进而更有利于人们去阅读,这时的输出可以明明妥妥地展示好似“合计8G内存如何安装LINUX,已经在使用当中部分为3.2G,缓存部分为2.1G,能够发挥作用部分为2.8G ”这样的直观明了的信息,头一回使用的那些人应当去习惯运用 -h 这个参数,进而防止手动开展的计算单位方面出现转换的错误情况情况,促使工作工作效率得到提高。

top命令的参数_linux系统命令topfree的使用及参数详解_linuxtop参数

如何理解free命令的输出含义

free输出里头的buffers以及cached内存,它是Linux内存管理体制得以关键展现出来的具体表现,buffers主要所指的是块设备进行读写操作时的那个缓存,而cached乃是文件系统缓存,以此用来加快磁盘访问的速度,在操作系统内存处于紧张状态的时候,内核会自动并且去回收这一部分所谓的内存,进而分配给应用程序,所以它们从本质来说是归属于算得上是可用资源的这个类别范畴,好多新手就会在估算所谓真实使用量的时候错误地把那块used减去buff/cache那么做,实际上更可以说是科学的办法是直接针对available字段加以参考使用 。

available列所呈现的是以不进行交换为条件的、供新进程去加以使用的内存估算数值,它将free内存以及可回收的缓存融合在一起,成为了评估系统内存压力堪称更为精准的指标。举例而言,一旦available长时间处在低于总内存的10%这样的状况底下,可以说很可能就暗示着有必要对应用予以优化或者增添内存,不然系统性能就会因为频繁进行交换而出现下降的情况之时。

free命令常用参数有哪些

linux系统命令topfree的使用及参数详解_top命令的参数_linuxtop参数

free -s 参数准许以秒作为单位间隔持续去刷新内存状态,这对于监控内存变化趋势来讲是极为有用的。比如说,执行 free -s 5 -h 就会每 5 秒更新一回数据,并且是以人性化格式予以显示的,如此便方便了实时去观察内存使用波动情况,要是再结合 grep 或者 awk 的话,还能够达成自动化数据采集呢 。

带有 /free -t 参数的输出中,其末尾会增添一行总计方面的信息,来对物理内存以及交换空间的总量、使用量还有空闲量予以汇总。这在编写用以进行资源统计相关脚本时,是特别展现实用性的方式,能够助力快速获取整体之下内存消耗的具体情况。另外有一个常用的 -w 参数,它能够把 buff 以及 cache 拆分成两个相互独立的列来呈现显示,如此便方便对两类缓存各自具体的占比进行更为精细的分析。

free命令如何显示详细内存信息

采取 free -l 方式,能够将高低内存统计的详细情形呈现出来,此情形主要在跟旧内核适配的系统里具备意义。然而,对于 free --si 之举,是以10作为基数来开展单位换算的,不是以2作为基数,也就是说 1G的数值是定为1000M 这样的情况呈国际单位制标准,在一些特定类的场景当中,则更契合规范的要求 。

遇到那种非得深入剖析的状况,能够联合 /proc/meminfo 文件去得到更为周全详尽的内存数据。事实上呢,free 命令自身就是透过解析这个文件进而生成的汇总类信息。比如说呀,借助 cat /proc/meminfo | grep -i slab 就能够去查看内核对象缓存,这些诸多细节在排查内存泄漏的时候呀其实常常能够给出关键线索呢。

linux系统命令topfree的使用及参数详解_linuxtop参数_top命令的参数

free命令与其他命令配合使用

linuxtop参数_linux系统命令topfree的使用及参数详解_top命令的参数

于实际的运维期间,free 常常跟 top、htop、vmstat 等命令一块搭配运用,进而构建完备的内存监控方案;打个比方来讲,当做 free 呈现出可用内存欠缺的时候,能够借助 ps aux --sort=-%mem</th>
<th>head
去找出内存占用处于最高点的进程来,精确地确定资源消耗的起始之处。
在编写监控脚本之际,常常会运用 free -m</td>
<td>awk 'NR==2{print $7}'
这么个方式径直提取可用内存数据大小,一旦此数值低于了设定阙值之际引发告警linux系统命令topfree的使用及参数详解,这样的自动化监控操作办法出现在生产的环境当中是极其普遍常见出现情现象的方式了,具备助力促使管理员于问题朝着更大范围扩张发展之前及时行动加以干涉阻止的能力效果

free命令在实际故障排查中的应用

linuxtop参数_top命令的参数_linux系统命令topfree的使用及参数详解

遇到过一项境况,情形是,服务器屡次触发OOM Killer将进程杀掉,然而free进行展示的时候,仍是存在着诸多的cache。进一步展开剖析,发觉尽管cache从理论这个层面而言是能够回收的,即便如此,于实际状况当中是存在那种孤立的未被释放完毕没法释放的slab内存,致使可用内存呈现虚高的这种状况。最终借助 echo 2 > /proc/sys/vm/drop_caches这个操作进而将缓存手动回收,经过之后从而便恢复到正常状态了。

另一个出现频率高的情形是交换空间监控,在free表明swap的使用比例不断上升时,阐释物理内存无法抵承当下的负载量了,并作出需要随即进行优化或者扩充容量的应对。这个时段应连带运用 sar -B 来审阅缺页异常的统计状况,剖析是常规的内存置换行径还是反常的内存泄露现象,这对于数据库服务器类的关键应用来讲特别关键。

在你借助free命令对系统展开监控之际,有没有碰到过各式各样令人费解的内存状况呢?倘若有的话,请热乎地于评论区域道出你过往经历以及有效措施呐。一旦察觉本文能够派上用处,那就热忱地去点赞助威乃至转发给更多身陷需求困境的友人居,麻烦啦!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复