Linux 内存数据 Metrics 指标解读

过去从未仔细了解过使用 freetop 等命令时显式的内存信息,只关注了已用内存 / 可用内存。本文我们详解解读和标注一下各个数据项的含义,同时和 Ganglia 显式的数据做一个映射。开始前介绍一个小知识,很多查看内存的命令行工具都是 cat /proc/meminfo 里的数据,所以数据来源都是一样的,区别只在于显式格式,用户体验上。本文我们以 free 命令为主,最后介绍一下 tophtop 的一些细微差异。先看下图:

在这里插入图片描述
第一行:

  • total: 总的物理内存
  • used: 已用内存,是 total - free 的值
  • free: 可用内存(没有被任何进程占用的内存)
  • shared: 被 tmpfs 文件系统使用的内存,tmpfs 会将文件加载到内存中以便更快速的访问
  • buffers / cached: 由操作系统内核管理的内存空间,存放的是近期访问过的数据,可以认为是 OS 级别的缓存,显然从这里读取数据要比从磁盘读取快得多

第二行:

  • -/+ buffers/cache used: 真 • 已用内存,是 used - ( buffers + cached ) 后的值,这是直接被各个进程占用的真实内存,buffers / cached 值不应统计在内,因为当内存紧张时,它们也会被征用并分配给应用程序。Ganglia 中使用的 Used Mem 就是这个值!
  • -/+ buffers/cache free: 真 • 可用内存,是 free + ( buffers + cached ) 后的值,这是真正还可以拿来分配的总内存,buffers / cached 值应该统计在内,因为当内存紧张时,它们也会被征用并分配给应用程序。

第二行的统计数据更具有实际参考意义!其实对于“已用内存”和“可用内存”这两个指标,第一行和第二行使用的两种统计口径,差别在于:buffers / cached 是算成已用内存还是可用内存,它们被操作系统管理,属于“可调节”的机动资源,应用程序占用的资源多时,buffers / cached 就多一些,反之就让渡出来给应用程序,所以它们被看成可用内存会更合理一些,所以说第二行数据更有参考价值,这也是 Ganglia 取 -/+ buffers/cache used 做“已用内存”的原因

另外

  • 使用 top 命令查看内存时是不显示 free 的第二行数据的;

  • 使用 htop 命令查看内存时,是通过颜色来区分的:

    • Green = Used memory
    • Blue = Buffers
    • Yellow/Orange = Cache

在这里插入图片描述

参考:

https://www.turing.com/kb/how-to-use-the-linux-free-command
https://serverfault.com/questions/85470/meaning-of-the-buffers-cache-line-in-the-output-of-free

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

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

相关文章

71内网安全-域横向网络传输应用层隧道技术

必备知识点; 代理和隧道技术的区别? 代理主要解决的是网络访问问题,隧道是对过滤的绕过, 隧道技术是为了解决什么 解决被防火墙一些设备,ids(入侵检测系统)进行拦截的东西进行突破&#xff0…

2023-12-11 LeetCode每日一题(最小体力消耗路径)

2023-12-11每日一题 一、题目编号 1631. 最小体力消耗路径二、题目链接 点击跳转到题目位置 三、题目描述 你准备参加一场远足活动。给你一个二维 rows x columns 的地图 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一开始你在最左上角的格…

自定义富集分析结果的term顺序

大家好,元旦过得还好吗?之前我们聊过如果富集分析结果不理想,如何选择富集分析的terms,如果不记得,可以看看这三个推文和视频。 ​富集分析结果不理想:如何从上千个term中找到自己想要所有term?…

Spark 集群搭建

文章目录 搭建前准备安装搭建解压并重命名环境变量配置配置文件yarn-site.xmlspark-env.sh 官网求 π(PI) 案例启动spark-shell通过浏览器查看显示查看 Spark 的网页信息展示 搭建前准备 下载地址:Index of /dist/spark (apache.org) 配置好 hadoop 环境&#xff…

HttpClient入门

HttpClient入门 简介 HttpClient 是 Apache HttpComponents 项目中的一个开源的 Java HTTP 客户端库,用于发送 HTTP 请求和处理 HTTP 响应。它提供了一组强大而灵活的 API,使得在 Java 程序中执行 HTTP 请求变得相对简单 maven依赖 org.apache.httpco…

【BIG_FG_CSDN】C++ 数组与指针 (个人向——学习笔记)

一维数组 在内存占用连续存储单元的相同类型数据序列的存储。 数组是静态存储器的块;在编译时确定大小后才能使用; 其声明格式如下: 元素类型 数组名[常量];元素类型:数组中元素的数据类型; 常量&#…

租房数据分析可视化大屏+58同城 Django框架 大数据毕业设计(附源码)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

【力扣题解】P105-从前序与中序遍历序列构造二叉树-Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P105-从前序与中序遍历序列构造二叉树-Java题解🌏题目描述💡题…

Node.js+Express 路由配置,实现接口分类管理

首先创建一个路由目录及文件 routes/user.js代码 const express require(express); const router express.Router(); // 使用express提供的router对象 const db require(../dbserver/mysql);router.get(/api/user, (req, res) > {const sqlStr SELECT * FROM sys_user;…

StratifiedKFold解释和代码实现

StratifiedKFold解释和代码实现 文章目录 一、StratifiedKFold是什么?二、 实验数据设置2.1 实验数据生成代码2.2 代码结果 三、实验代码3.1 实验代码3.2 实验结果3.3 结果解释3.4 数据打乱对这种交叉验证的影响。 四、总结 一、StratifiedKFold是什么? …

Eclipse汉化

目录 一、首先电脑已经下载好Eclipse 二、打开Eclipse Babel 三、打开Eclipse 1、工具栏——>Help——> Install New Software 2、 点击Add 3、添加复制的链接,点击Add 4、等待加载 5、勾选Chinese(Simpliied),而后Next&…

动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper

文章目录 前言下载github地址:网盘 关于VideoWebpagesYoutube和流媒体ShadersGIFs游戏和应用程序& more:Performance:多监视器支持:完结 前言 Lively Wallpaper是一款开源的视频壁纸桌面软件,类似 Wallpaper Engine,兼容 Wal…

HarmonyOS 组件通用属性之通用事件 文档参数讲解(触摸事件)

好 本文 我们来说说触摸事件 字面意思也非常好理解 就是我们手机手指触摸物体触发 我们先在编辑器组件介绍中 找到这个东西的基本用法 Button("跳转").onTouch((event: TouchEvent) > {})最明显的就是 event 的类型变了 点击事件的是 ClickEvent 而这里是 Touc…

主成分分析(PCA):探索数据的核心

文章目录 前言1. 什么是 PCA ?2. PCA 的原理2.1 协方差和方差2.2 核心思想2.3 步骤 3. PCA 的应用场景4. PCA 的优缺点5. 示例:人脸识别5.1 完整代码5.2 运行结果 结语 前言 当今社会,数据无处不在。从社交媒体到金融交易,从医疗…

【代码解析】代码解析之生成token(1)

本篇文章主要解析上一篇:代码解析之登录(1)里的第8行代码调用 TokenUtils 类里的genToken 方法 https://blog.csdn.net/m0_67930426/article/details/135327553?spm1001.2014.3001.5501 genToken方法代码如下: public static S…

基于C#的机械臂欧拉角与旋转矩阵转换

欧拉角概述 机器人末端执行器姿态描述方法主要有四种:旋转矩阵法、欧拉角法、等效轴角法和四元数法。所以,欧拉角是描述机械臂末端姿态的重要方法之一。 关于欧拉角的历史,由来已久,莱昂哈德欧拉用欧拉角来描述刚体在三维欧几里…

如何找到并杀掉占用显存的僵尸进程

如何找到并杀掉占用显存的僵尸进程 nvitop 命令发现占用显存的僵尸进程 nvitop 命令可以实时监控显卡显存的占用,CPU 的占用,以及占用显卡的进程信息等(如下图)。nvitop 中显示 No Such Process 的进程,且它的 CPU 使…

【SpringCloud Alibaba笔记】(2)Nacos服务注册与配置中心

Nacos Nacos简介与下载 是什么? 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos(Dynamic Naming and Configuration Service)就是注册中心+配置中心的组合 Nacos Eureka Config Bus 替代Eureka…

前端 js 基础对象 (3)

js 对象定义 <!DOCTYPE html> <html> <body><h1>JavaScript 对象创建</h1><p id"demo1"></p> <p>new</p> <p id"demo"></p><script> // 创建对象&#xff1a; var persona {fi…

数据结构与算法——符号表API设计及有序符号表设计

Java学习手册面试指南&#xff1a;https://javaxiaobear.cn 符号表最主要的目的就是将一个键和一个值联系起来&#xff0c;符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据&#xff0c;我们可以根据键来查找对应的值。 符号表中&#xff0c;键具有唯一性。 符…