专栏首页北京马哥教育看你用错了没!Linux必知必会之内存使用统计命令free

看你用错了没!Linux必知必会之内存使用统计命令free

本文由马哥教育面授班25期学员推荐,转载自互联网,作者为Alli,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。

本文详细介绍了Linux系统中的free命令的使用方法以及关键参数的含义,这可能是你见过的关于free命令最详细的一篇文章了,绝对值得你收藏。

free命令显示了Linux系统中物理内存、交换分区的使用统计信息。

指标说明

使用free命令查看内存信息,最重要的是理解当前系统的可用内存并不是直接看 free 字段就可以看出来的,应该参考的是

可用内存 = free + buffers + cached

除去标题行之后,第一行为 物理内存使用统计

标题

说明

total

物理内存总量 total = used + free

used

已使用内存总量,包含应用使用量+buffer+cached

free

空闲内存总量

shared

共享内存总量

buffers

块设备所占用的缓存

cached

普通文件数据所占用的缓存

available

当前可用内存总量(可用于分配给应用的,不包含虚拟内存)

对于available字段,在内核3.14中,它会从/proc/meminfo中的MemAvailable读取,在内核2.6.27+的系统上采用模拟的方式获取,其它情况下直接与free的值相同。

第二行-/+ buffers/cache 中只有两列usedfree有值,它们是物理内存的调整值

标题

说明

used

已使用内存(used)减去buffer和cached之后的内存,也就是应用正在使用的内存总量

free

空闲内存加上buffer和cached之后的内存,也就是真正的可用内存总量

第三行为交换分区使用统计

标题

说明

total

交换分区内存总量

used

正在使用的交换分区内存

free

空闲交换分区内存

在上面这些指标中,我们需要注意的是在下面这些情况下,系统是正常的,不需要担心

  • 空闲内存free接近于0
  • 已使用内存used接近于total
  • 可用内存(free+buffers/cache)占total的 20% 以上
  • 交换分区内存 swap 没有发生改变

下面情况说明内存过低,需要注意!

  • 可用内存(free+buffers/cache)过低,接近于0的时候
  • 交换分区内存占用swap used增加或者有波动
  • dmesg | grep oom-killer显示有OutOfMemory-killer正在运行

常用参数

选项

说明

-b/k/m/g

以bytes/kilobytes/megabytes/gigabytes为单位显示结果

-h

以人类可读的方式输出统计结果

-t

使用该选项会多显示一行标题为Total的统计信息

-o

禁止显示第二行的缓冲区调整值

-s

每隔多少秒自动刷新结果

-c

与-s配合使用,控制刷新结果次数

-l

显示高低内存的统计详情

-a

显示可用内存

-V

显示版本号

版本不同,可能部分选项也不相同。

参考示例

# free -t -a -g

————广告时间————

《马哥Linux云计算及架构师》网络课程,由知名Linux布道师马哥创立,经历了8年的发展,联合阿里巴巴、唯品会、大众点评、腾讯、陆金所等大型互联网一线公司的马哥课程团队的工程师进行深度定制开发,课程采用 Centos7.2系统教学,加入了大量实战案例,授课案例均来自于一线的技术案例。

开课时间:随到随学

Linux学习免费交流QQ群:535388508(千人群)

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux),作者:鸡汤妹儿

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-07-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux内存被吃掉了,它去哪里了?

    在Windows下资源管理器查看内存使用的情况,如果使用率达到80%以上,再运行大程序就能感觉到系统不流畅了,因为在内存紧缺的情况下使用交换分区,频繁地从磁盘上...

    小小科
  • 五分钟彻底搞懂你一直没明白的Linux内存管理

    现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:

    小小科
  • 五分钟彻底搞懂你一直没明白的Linux内存管理

    现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道: 地址映射 内存管理的方式 缺页...

    小小科
  • 10.7 free命令

    监控系统状态 free 查看内存使用情况 free -m / -g / -h buffer/cache区别 公式:total=used+free+buff/ca...

    运维小白
  • Linux命令(37)——free命令

    free命令用于显示系统内存使用情况,包括物理内存(Physical Memory)、虚拟内存(Swap Memory)、共享内存(Shared Memory)...

    Dabelv
  • C/C++ 学习笔记七(内存管理)

    工作中经常使用到C/C++,为对C有个比较深刻的了解,重新拾起学习C的任务。在看书的同时,记录下思考的过程,也记录下重要的知识点。

    Celebi
  • [Linux][mm]watermark_scale_factor的调整以及遇到的问题

    在较高的Linux版本上,支持了watermark_scale_factor参数(完整路径/proc/sys/vm/watermark_scale_factor...

    皮振伟
  • yii2 restful 风格搭建(二)接口认证

    1、HTTP 基本认证: \yii\filters\auth\HttpBasicAuth

    botkenni
  • 0510-Spark应用访问Hive报错异常分析

    在代码中使用HiveContext对象访问Hive表ods_user(该表为Parquet格式)时发现作业报错,异常如下:

    Fayson
  • 宜信开源|数据库审核软件Themis的规则解析与部署攻略

    Themis是宜信公司DBA团队开发的一款数据库审核产品,可帮助DBA、开发人员快速发现数据库质量问题,提升工作效率。其名称源自希腊神话中的正义与法律女神。项目...

    宜信技术学院

扫码关注云+社区

领取腾讯云代金券