文章目录

  • 前言
  • 语法格式
  • 以指定单位显示内存占用情况
  • 打印所有内存占用(RAM + SWAP)
  • 打印间隔以及次数
  • 打印所有的列(将buff和cache分开)
  • free各个空间含义
    • swap交换空间
    • cache页高速缓存
    • free 与 available

前言

free 支持查看空闲的和已使用的物理内存和交换分区所占用的系统内存情况,改信息是通过解析/proc/meminfo文件中的内容进行获取。
这里简单描述一下展示几列内容的含义:

  • total 系统总内存 ,显示的MemSwap/proc/meminfo中的MemTotal and SwapTotal
  • used 被使用的内存,通过total - free所得
  • free 未使用的内存,为/proc/meminfo 中的MemFree and SwapFree
  • shared 共享内存,大多被tmpfs使用的内存,为/proc/meminfo中的Shmem选项,内核版本2.6.32以上可用,如果不可用,则会显示0
  • buffers 被内核使用的缓冲区,/proc/meminfo中的Buffers
  • cache 被操作系统页缓存和slabs占用的内存,/proc/meminfo中的CachedSlab。关于slab的介绍可以参考Linux内存管理中的slab分配器
  • buff/cache buffers和cache占用的内存之和
  • available 可用的内存

语法格式

free [options]

以指定单位显示内存占用情况

  • -b 指定输出单位为Bytes
  • -k 指定输出单位为KB
  • -m 指定输出单位为MB
  • -g 指定输出单位为GB,还可以指定--tera–TB,peta–PB 不过一般不会有这么大的单节点内存了
  • -h 以人性化的输出查看内存,超过M的显示为M,超过G的显示为G

打印所有内存占用(RAM + SWAP)

free -t

free -th

打印间隔以及次数

free -s 1 -c 10 -h 每隔一秒打印一次,总共打印10次

打印所有的列(将buff和cache分开)

free -wh

free各个空间含义

swap交换空间

swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap 分区也可以是 swap 文件。当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高。

内核提供 swappiness 的参数,用于配置需要将内存中不常用的数据移到 swap 中去的紧迫程度,默认为60,表示内存可以将不常使用的数据60%迁移到swap分区。

使用/sbin/sysctl -a|grep swappiness 查看配置情况
/etc/etc/sysctl.conf 修改配置 vm.swappiness = 70
使用/sbin/sysctl -p /etc/sysctl.conf 应用配置

cache页高速缓存

参考linux 文件IO与内存映射:page cache页高速缓存

free 与 available

free 是真正尚未被使用的物理内存数量,至于 available它是从应用程序的角度看到的可用内存数量,Linux 内核为了提升磁盘操作的性能,会消耗一部分内存去缓存磁盘数据,就是我们介绍的 buffer 和 cache。所以对于内核来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available = free + buffer + cache。请注意,这只是一个很理想的计算方式,实际中的数据往往有较大的误差

f-free 查看系统中空闲和使用的内存相关推荐

  1. linux centos查看用户列表,查看centos中的用户和用户组_Centos查看系统中用户和用户组的方法...

    最近朋友刚接触Linux系统,想要查看系统中都又哪些用户和用户所属的组,接下来吾爱编程就为大家介绍一下Centos查看系统中用户和用户组的方法,有需要的小伙伴可以参考一下: 1.查看系统中的用户: C ...

  2. 查看系统中支持CUDA的设备数量和属性---deviceQuery示例

    在你安装了CUDA显卡驱动之后,需要检测是否安装正确,或者需要查看系统中支持CUDA的设备数量和属性,可以通过SDK中的deviceQuery示例来查看,工程目录位置:C:\ProgramData\N ...

  3. 如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小

    如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小 一.为什么要查看redis中每个key的占用 二.怎么查看redis中每个key的占用 一.为什么要查看r ...

  4. Linux系统中消息队列,共享内存、信号和线程的基本操作使用方法

    Linux系统中消息队列,共享内存.信号和线程高级操作 第十一章 消息队列 10.1消息队列定义 10.2 消息队列特点 10.3 key值 10.4 创建消息队列 10.4.1 发送消息 10.4. ...

  5. Winodws XP 32bit系统中使用3GB以上的内存解决方案

    Winodws XP 32bit 系统中使用 3GB 以上的内存解决方案 Author: Wenxy Email: wen_kernel@163.com Blog: http://blog.csdn. ...

  6. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...

    有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令.-- Sandra Henry-stocker 有许多工具可以查看 Linux 系统中的内存使用情况.一些命令被广泛使用 ...

  7. Linux查看系统中用户信息,Linux下用于查看系统当前登录用户信息的4种方法

    作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...

  8. Android系统中的进程管理:内存的回收

    本文是Android系统进程管理的第三篇文章.进程管理的前面两篇文章,请参见这里: Android系统中的进程管理:进程的创建 Android系统中的进程管理:进程的优先级 本文适合Android平台 ...

  9. linux下如何查看BIOS版本,linux、centos下查看系统版本、bios版本,内存信息等

    1.查看系统版本 [[email protected] ~]#more /etc/issue CentOS release 6.2 (Final) Kernel \r on an \m 2.查看CPU ...

最新文章

  1. 2021西南位育高考成绩查询,上海近40所高中2020高考录取情况汇总!
  2. python raise 引起的异常
  3. python function terminated_calibre 打不开也转不了 并且出现错误 mobi转docx
  4. 一些服务器编程的概念
  5. From Apprentice To Artisan 翻译 19
  6. 高级php平时的工作,【高级PHP开发工作内容|工作职责|高级PHP开发做什么】-看准网...
  7. 控制usb扫码枪_无线也可以很牢靠-世达SATA热熔胶枪评测
  8. 漫画:如何实现大整数相乘?(上)
  9. 如何用Pygame写游戏(四)
  10. Mysql数据库-面试题
  11. [USACO09HOL]假期绘画Holiday Painting
  12. selenium2 webdriver要点理解
  13. 分享4个不错的软件资源下载网站(值得珍藏)
  14. 数学建模常用算法—模糊综合评价
  15. 智能电视无法进入服务器,三星智能电视无法连接到服务器怎么办
  16. 前端用pdfjs实现预览PDF
  17. 人生辣么多的谎言,没必要一个个试一下
  18. 九龙证券|通信巨头火了!地产板块异动拉升,龙头获主力资金追捧
  19. element-ui el-dialog拉伸
  20. 洛谷1373小a和uim之大逃离

热门文章

  1. Apache JMeter2.13 实战
  2. hdu 4278 2012天津赛区网络赛 数学 *
  3. jsp 环境配置记录
  4. c++标准库 及 命名空间std
  5. C#操作OFFICE一(EXCEL)
  6. 電子商務新紀元-WebService With BizSnap
  7. LeetCode 笔记系列 18 Maximal Rectangle [学以致用](最大矩形)
  8. 编码 data:text/html;c,关于 Data URI Scheme -- data:image/jpg;base64
  9. linux 压缩排除某个文件夹,linux tar压缩排除 某类型文件 某个文件夹
  10. mysql null 排前面_Mysql实现null值排在最前/最后的方法示例