Linux shell编程学习笔记63:free命令 获取内存使用信息

0 前言

在系统安全检查中,内存使用情况也是一块可以关注的内容。Linux提供了多个获取内存信息的命令很多。今天我们先研究free命令。

1 free命令的功能、用法和选项说明

1.1 free命令的功能

free 命令可以显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。

[purpleendurer @ bash ~] free --helpUsage:free [options]Options:-b, --bytes         show output in bytes-k, --kilo          show output in kilobytes-m, --mega          show output in megabytes-g, --giga          show output in gigabytes--tera          show output in terabytes--peta          show output in petabytes-h, --human         show human-readable output--si            use powers of 1000 not 1024-l, --lohi          show detailed low and high memory statistics-t, --total         show total for RAM + swap-s N, --seconds N   repeat printing every N seconds-c N, --count N     repeat printing N times, then exit-w, --wide          wide output--help     display this help and exit-V, --version  output version information and exitFor more details see free(1).
[purpleendurer @ bash ~] 

1.2 free命令的用法

free [选项]

1.3 选项说明

 

选项说明

-b

--bytes

以字节为单位显示输出

-k

--kilo

以千字节为单位显示输出

-m

--mega

以兆字节为单位输出

-g

--giga

以 GB 为单位输出
--tera以 TB 为单位输出
--peta以 PB 为单位输出

-h

--human

显示人类可读的输出
--si使用 1000 的幂而不是 1024

-l

--lohi

显示详细的低内存和高内存统计信息

-t

--total

显示 RAM + 交换的总计

-s N

--seconds N

每 N 秒重复打印一次

-c N

--count N

重复打印 N 次,然后退出

-w

--wide

宽宽输出
--help显示此助信息并退出

-V

--version

输出版本信息并退出

 2 free命令应用实例

2.1 free

[purpleendurer @ bash ~]freetotal        used        free      shared  buff/cache   available
Mem:        3855940      236804     2051384         360     1567752     3371200
Swap:             0           0           0
[purpleendurer @ bash ~]

 

 

命令返回的信息针对 Mem(内存)和Swap(交换空间)分别显示了6列信息。

Mem(内存)比交内容理解。

swap space (交换空间)是磁盘上的一块区域,当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存来使用,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。

再来看6列信息的含义。

第1列 total            :系统总的可用物理内存和交换空间大小。
第2列 used           :已经被系统使用的物理内存和交换空间。
第3列 free             :还有多少物理内存和交换空间可用使用。
第4列 shared        : 显示被共享使用的物理内存大小。
第5列 buff/cache  :被 buffer 和 cache 使用的物理内存大小。
第6列  available   : 可以被应用程序使用的物理内存大小。

buff ( buffer cache),即 "缓冲区"。操作系统中文件系统的最小寻址单元是块,每个块包含一个或多个扇区。当一个块被调入内存时,它要存储在一个缓冲区中。每个缓冲区与一个块对应。缓冲区只是把磁盘上的块直接搬到内存中而不关心块中究竟存放的是什么格式的文件。

cache (page cache),即 "页高速缓存"。页高速缓存是内核实现的磁盘缓存。它通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问,来减少对磁盘的 I/O 操作。页高速缓存缓存的是内存页面。缓存中的页来自对普通文件、块设备文件(即 buffer cache 呀)和内存映射文件的读写。

对于系统来说,buffer 和 cache 都属于已经被使用的内存。当应用程序需要内存时,如果没有足够的 free 内存可以用,内核就会从 buffer 和 cache 中回收内存来满足应用程序的请求。所以从应用程序的角度来说,available  = free + buffer + cache

2.2 free -h :显示人类可读的输出

 

[purpleendurer @ bash ~]free -htotal        used        free      shared  buff/cache   available
Mem:           3.7G        259M        1.9G        360K        1.5G        3.2G
Swap:            0B          0B          0B
[purpleendurer @ bash ~]

 

 2.3 free -h -s 5:每隔5秒显示一次信息

[purpleendurer @ bash ~]free -h -s 5total        used        free      shared  buff/cache   available
Mem:           3.7G        259M        1.9G        360K        1.5G        3.2G
Swap:            0B          0B          0Btotal        used        free      shared  buff/cache   available
Mem:           3.7G        258M        1.9G        360K        1.5G        3.2G
Swap:            0B          0B          0Btotal        used        free      shared  buff/cache   available
Mem:           3.7G        259M        1.9G        360K        1.5G        3.2G
Swap:            0B          0B          0Btotal        used        free      shared  buff/cache   available
Mem:           3.7G        259M        1.9G        360K        1.5G        3.2G
Swap:            0B          0B          0B

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374770.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Linux下使用Docker部署chirpstack

目录 一、前言 二、chirpstack 1、chirpstack是什么 2、chirpstack组件 3、为什么选择Docker部署 三、Linux下部署过程 四、web界面部署过程 一、前言 本篇文章我是在Linux下使用 Docker 进行部署chirpstack,chirpstack采用的是v4 版本,v4 版本 与…

Windows电脑安装Python结合内网穿透轻松搭建可公网访问私有网盘

文章目录 前言1.本地文件服务器搭建1.1.Python的安装和设置1.2.cpolar的安装和注册 2.本地文件服务器的发布2.1.Cpolar云端设置2.2.Cpolar本地设置 3.公网访问测试4.结语 前言 本文主要介绍如何在Windows系统电脑上使用python这样的简单程序语言,在自己的电脑上搭建…

阿里云RDS云数据库库表恢复操作

最近数据库中数据被人误删了,记录一下恢复操作方便以后发生时进行恢复. 1.打开控制台,进入云数据库实例. 2.进入实例后 ,点击右侧的备份恢复,然后看一下备份时间点,中间这边都是阿里云自动备份的备份集,基本都是7天一备…

代发考生战报:南京考场华为售前HCSP H19-411考试通过

代发考生战报:南京考场华为售前HCSP H19-411考试通过,客服给的题库非常稳定,考试遇到2个新题,剩下全是题库里的原题,想考的放心考吧,考场服务挺好,管理员带着做签名和一些考试说明介绍清楚&…

【活动行】参与上海两场线下活动,教育生态行业赛总决赛活动和WAIC人工智能大会活动 - 上海活动总结

目录 背景决赛最后一公里领域范围 决赛作品AI智教相机辅导老师Copilot辅导老师Copilot雅思写作竞技场 优秀作品总结 背景 决赛 百度发起的千帆杯教育生态行业赛于2024年7月4日进行线下决赛,博主虽然没能进入决赛,但也非常荣幸能够以嘉宾身份到现场给进…

从0-1搭建一个web项目(页面布局详解)详解

本章分析页面布局详解详解 ObJack-Admin一款基于 Vue3.3、TypeScript、Vite3、Pinia、Element-Plus 开源的后台管理框架。在一定程度上节省您的开发效率。另外本项目还封装了一些常用组件、hooks、指令、动态路由、按钮级别权限控制等功能。感兴趣的小伙伴可以访问源码点个赞 地…

哈弗架构和冯诺伊曼架构

文章目录 1. 计算机体系结构 2. 哈弗架构(Harvard Architecture) 3. 改进的哈弗架构 4. 冯诺伊曼架构(Von Neumann Architecture) 5. 结构对比 1. 计算机体系结构 计算机体系结构是指计算机系统的组织和实现方式&#xff0c…

[终端安全]-7 后量子密码算法

本文参考资料来源:NSA Releases Future Quantum-Resistant (QR) Algorithm Requirements for National Security Systems > National Security Agency/Central Security Service > Article Commercial National Security Algorithm Suite 2.0” (CNSA 2.0) C…

LeetCode之最长回文子串

1.题目链接 5. 最长回文子串 - 力扣(LeetCode)https://leetcode.cn/problems/longest-palindromic-substring/description/ 2.题目解析 对于这道题目我们可以使用动态规划的思路来求解,具体思路是,对于一个长度大于2的子串&…

新火种AI|微软和苹果放弃OpenAI董事会观察员席位

作者:一号 编辑:美美 微软苹果双双不做OpenAI“观察员”,OpenAI能更自由吗? 7月10消息,微软当地时间周一宣布将放弃在OpenAI董事会的观察员席位,他们称,OpenAI在过去八个月中取得了“重大进展…

2024机器遗忘(Machine Unlearning)技术分类-思维导图

1 介绍 机器遗忘(Machine Unlearning)是指从机器学习模型中安全地移除或"遗忘"特定的数据点或信息。这个概念源于数据隐私保护的需求,尤其是在欧盟通用数据保护条例(GDPR)等法规中提出的"被遗忘的权利…

STM32利用FreeRTOS实现4个led灯同时以不同的频率闪烁

在没有接触到FreeRTOS时,也没有想过同时叫两个或两个以上的led灯闪烁的想法,接触后,发现如果想叫两个灯同时以不同的频率闪烁,不能说是不可能,就算是做到了也要非常的麻烦。但是学习了FreeRTOS后,发现要想同…

PHP 安装Memcached 扩展 PHP使用Memcache

memcache扩展下载 访问官网&#xff1a;https://pecl.php.net/package/memcache&#xff0c;下载合适的memcache版本的安装包&#xff0c;注意要与php版本相匹配。 1、查看运行环境php版本,可以运行以下代码 <?php phpinfo(); ?>2、查看版本信息以及是否支持多线程…

linux radix-tree 基数树实现详解

radix tree&#xff0c;又称做基数树&#xff0c;是一种适合于构建key(index)与value(item)相关联的数据结构。内核中使用非常广泛。本文主要聚焦linux内核基数树的代码实现,大量注释过的代码。 radix-tree组织结构如下: 1、数据结构 /** The bottom two bits of the slot de…

开放式耳机哪个品牌质量比较好?2024高性价比机型推荐!

作为耳机测评师这几年开放式耳机也越来越火&#xff0c;各种品牌各种机型让人看得眼花缭乱&#xff0c;那我们如何分辨一款开放式耳机是好是坏呢&#xff1f;今天这篇文章就是来告诉大家如何去分辨去挑选一款还不错的开放式耳机&#xff0c;在教大家如何挑选之后&#xff0c;我…

Python模块ConfigParser读取应用程序的配置文件简单示例

一、模块说明&#xff1a; 系统管理员通常通过文本编辑器编辑这些配置文件&#xff0c;以设置应用程序的默认值&#xff0c;然后应用程序将读取并解析这些配置文件&#xff0c;并根据其中的内容执行对应操作。ConfigParser模块具有read()方法&#xff0c;用于读取配置文件。 …

jstat命令介绍

jstat&#xff1a;查看JVM统计信息 一 基本情况二 基本语法2.1 option参数1. 类装载相关的&#xff1a;2. 垃圾回收相关的-gc&#xff1a;显示与GC相关的堆信息。包括Eden区、两个Survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息。-gccapacity&#xff1a;显示…

基督教堂变身“知识网红”!枢纽云助力传统教堂数智化升级

随着互联网技术的发展&#xff0c;知识获取的方式悄然发生了改变。传统的书籍、课堂教学等知识传递模式逐渐被线上课程、电子书、知识付费平台等新形式所补充和替代。知识付费&#xff0c;作为一种新兴的知识传播和变现模式&#xff0c;迅速崛起并受到广泛关注和欢迎。 何为知…

Python爬虫:BeautifulSoup的基本使用方法!

1.简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析“标签树”等功能。它是一个工具箱&#xff0c;通过解析文档为用户提供需要抓取的数据&#xff0c;因为简单&#xff0c;所以不需要多少代码就可以写出一个完整的应用程序。 Beautiful Soup…

springboot中国女篮资讯平台-计算机毕业设计源码12641

目录 1 绪论 1.1 研究背景 1.2 研究现状 1.3论文结构与章节安排 2平台分析 2.1 系统可行性分析 2.1.1硬件可行性分析 2.1.2软件可行性分析 2.1.3经济可行性 2.1.4 操作可行性 2.2系统功能分析 2.3 系统用例分析 2.4本章小结 3平台总体设计 3.1 系统架构设计 3.2…