10.7 free命令

监控系统状态

  • free 查看内存使用情况
  • free -m / -g / -h
  • buffer/cache区别
  • 公式:total=used+free+buff/cache
  • avaliable包含free和buffer/cache剩余部分

free命令

  • free命令,查看内存使用情况
    • 在centos7和centos6中显示的结果是不同的
    • 在centos7中,则更加直观
  • 默认单位:kb
  • 共有三行,我们需要关注的是第二行,内存的使用情况
    • 第一行,是说明
    • 第二行,是内存的使用情况
    • 第三行,是swap交换分区的使用情况
[root@localhost ~]# free
             total       used       free     shared    buffers     cached
Mem:       1010860     354592     656268       6824        692     192560
-/+ buffers/cache:     161340     849520
Swap:      2097148          0    2097148
[root@localhost ~]# 
  • free -m 指定单位兆
[root@localhost ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           987        347        639          6          0        188
-/+ buffers/cache:        158        828
Swap:         2047          0       2047
[root@localhost ~]# 
  • free -h 在具体的数字后面加上单位——>更加直观显示
[root@localhost ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          987M       347M       639M       6.7M       692K       188M
-/+ buffers/cache:       158M       828M
Swap:         2.0G         0B       2.0G
[root@localhost ~]# 
  • 第一列,是总共有多大
  • 第二列,使用了多大
  • 第三列,剩余多大
    • 在这里会发现,used+free不等于total
      • 这是因为在linux操作系统,会把你的内存预分配一部分出来,分配给 buff 和 cache ,
  • 第四列,buff 表示 缓冲
  • 第五列,cache 表示 缓存
    • 区分:数据的流向不同
      • 磁盘——>内存(cache)——>cpu
      • cpu——>内存(buff)——>磁盘
  • 第六列,是free内存 + 预分配的buff/cache内存还没用完的,就是available(在centos7.0版本中,不会显示available,版本太低)

小常识

  • 公式:total=used+free+buff/cache
  • avaliable包含free和buffer/cache剩余部分

swap部分

  • 当swap不够使用了,就会使用到used,再used跑满了,free剩余为0,那swap则肯定需要添加了
    • 然而添加swap并不是解决问题的方法,而是增加内存。swap不够使用了,说明内存不够了,或者说你的内存泄漏了,你的程序有BUG,需要去排查

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏瓜大三哥

Matlab基本语法7

基本编程技巧 脚本m文件和函数m文件,脚本是一系列命令、语句的简单组合。脚本文件中的变量都是全局变量,程序运行后,这些变量保存在matlab的基本工作空间内,一...

2489
来自专栏前端萌媛的成长之路

JavaScript模块化发展

3273
来自专栏PHP在线

PHP10个实用函数

介绍PHP中的10个实用函数 [导读] PHP的功能越来越强大,里面有着非常丰富的内置函数。资深的PHP程序员对它们可能都很熟悉,但很多的PHP学习者,仍然对...

3554
来自专栏偏前端工程师的驿站

Java魔法堂:找外援的利器——Runtime.exec详解

一、前言                                  Java虽然五脏俱全但总有软肋,譬如获取CPU等硬件信息,当然我们可以通过JNI调用...

21010
来自专栏我是攻城师

给Java字节码加上”翅膀“的JIT编译器

上面文章在介绍Java的内存模型的时候,提到过由于编译器的优化会导致重排序的问题,其中一个比较重要的点地方就是关于JIT编译器的功能。JIT的英文单词是Just...

1205
来自专栏深度学习计算机视觉

同步、异步、阻塞、非阻塞

同步、异步、阻塞和非阻塞(网络编程) 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。 按照这个定义,其实绝大多数函数都是同步调用...

3075
来自专栏北京马哥教育

面试分享系列 | 17道Python面试题,让你在求职中无往不利

今天给大家分享的是Python面试题系列的第一篇文章,后续我也会陆续整理Python相关的问题给大家,无论是求职者还是新人都可以通过面试题来考察自己的能力缺陷。...

3614
来自专栏python学习之旅

Python笔记(四):异常处理机制与 open()

(一)  异常处理机制概述 就像日常生活中会遇到各种意外情况一样(例如:你可能考虑过如果中了500w该怎么做),代码运行过程中也会遇到这种意外情况,python...

3233
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(八)mysql中文查询bug修复

前言   在测试搜索时出现的问题,mysql通过中文查询条件搜索不出数据,但是英文和数字可以搜索到记录,中文无返回记录。本文就是写一下发现问题的过程及解决方法...

3305
来自专栏贾老师の博客

常用 Bash Shell 整理

1014

扫码关注云+社区

领取腾讯云代金券