10.7 free命令
时间:2022-04-27
本文章向大家介绍10.7 free命令,主要内容包括监控系统状态、小常识、swap部分、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
监控系统状态
- 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 ,
- 在这里会发现,used+free不等于total
- 第四列,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,需要去排查
- MySQL根据5.1.34之前版本的一个BUG分析O_DIRECT
- Git面试常见问题
- 剑指offer代码解析——面试题17合并两个排序的链表
- MySQL优化方案(一)优化SQL脚本与索引
- 从0学习MySQL系列(二)安装篇
- 从0学习MySQL系列(三)概念篇
- SQL Server基础SQL脚本之主外键约束
- SQL Server基础SQL脚本之Group By
- SQL Server基础SQL脚本之内外连接、交叉连接;函数、子查询
- MySQL 面试选择题15道(单选)
- SQL Server基础SQL脚本之分区表、分区方案
- SQL Server基础SQL脚本之创建架构、排序
- 枚举算法(Enumeration algorithm)实例一
- 剑指offer代码解析——面试题16反转单链表
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 打卡群刷题总结0924——最长上升子序列
- VS2017中使用QT Chart图表
- C++核心准则T.81:不要混用继承层级和数组
- C++核心准则T.83:不要将成员函数定义为模板虚函数
- C++核心准则T.84:使用非模板核心实现提供稳定的ABI接口
- C++核心准则T.120:只在确实有需要时使用模板元编程
- C++核心准则T.121:模板元编程主要用于模仿概念
- C++核心准则T.122:使用模板在编译时计算类型
- C++核心准则T.123:使用常量表达式函数在编译时求值
- Java基础 【类之间的关系】
- MySql 学习之路-基础
- (有趣的)项目实战:Java实现计算机自动关机
- 猜生日 Java小游戏
- KDD Cup 2020多模态召回比赛亚军方案与搜索业务应用
- 一文快速入门分库分表(必修课)