Grafana针对内存监控值的学习与使用


背景

因为学习内存相关的知识, 可以通过pgcacher/sar -r 等命令监控系统信息.
但是现在发现. 不太直观, 所以想着使用别的方式来进行处理.
然后想到了使用Grafana的方式进行监控. 下午突击学习了下Panel的简单创建与编辑
感谢帮助过我的同事. 学习永无止境.

第一步复制一下Panel

打开Grafana->选中想要复制的一个panel 点击右上角的 功能按钮
->点击More ->选择duplicate 复制对应的面板


编辑新面板

复制一个对应的查询行信息
注意可以在新增查询信息的第三行 选择 Code 的方式
如果是prometheus的 datasource
可以输入 对应的PromSQL数据进行查询与展示. 然后可以 点开当前行信息的 Options 信息
修改名字等信息. 就可以单独展示不同的内容.

设置百分比

在编辑面板的右侧, 打开修改界面. 

选择 overrides 的界面
可以删除掉一个使用名称匹配的展示信息
增加为:
Fields With name matching regex
比如我使用使用率最后后缀 就可以写上:
/.*使用率/ 然后可以增加 Add override property Standard options -> Unit 选择上 Percent (0-100) 就可以百分比显示. 但是颜色可能比较单一, 需要完善一下. 也可以增加一个 override 使用名字匹配.
然后 选择 Standard options ->Color scheme _.Single color 就可以

公式

1. 包含Cache的内存使用率
(1 - (node_memory_MemFree_bytes{instance=~"$instance"} / (node_memory_MemTotal_bytes{instance=~"$instance"})))* 100 2. 不包含Cache的内存使用率
(1 - ((node_memory_MemFree_bytes{instance=~"$instance"} + node_memory_Cached_bytes{instance=~"$instance"}) / (node_memory_MemTotal_bytes{instance=~"$instance"})))* 100 注意思路为: 通过Prometheus的端口, 查看所有的监控指标.
然后将对应的数值添加到公式中来. 需要注意 这两个公式不区分CentOS6和CentOS7 都是一样的.

内存增量验证

增加缓存的使用 使用命令为
scp -l 1000000 /root/all.dump /tmp/ 可以适当限制一下速度, 避免过快的上升.
文件复制完,或者是内存空间满之后会进入平台期. 然后删除tmp 目录下的文件
rm -rf /tmp/all.dump 稍等一会儿 执行清理缓存的命令
echo 3 >/proc/sys/vm/drop_caches 然后就可以看到内存的使用情况. 内存使用情况总结: 开机之后 缓存数量较小, 包含缓存的使用率, 仅仅比不是用的缓存的内存高一点.
随着复制到tmp 目录下
会有两部分pagecache的占用
1部分是 tmp 目录下不会被 drop_cahes清理的部分.
还有一部分是scp 复制文件时将原始文件读入内存时的page cache. 删除 /tmp 目录会清理一部分 缓存
drop_cache会清理另外一部分缓存.
所以会出现一个大破的上升, 和两个下坡的下降.

内存使用情况

Grafana针对内存监控值的学习与使用的更多相关文章

  1. 从Container内存监控限制到CPU使用率限制方案

    转自:http://blog.csdn.net/Androidlushangderen/article/details/50282593 前言 最近在运维我们部门的hadoop集群时,发现了很多Job ...

  2. Android 分区和内存监控

    Android 分区和内存监控 Andorid之所以是分区,是因为各自有对应的功能和用途的考量,可以进行单独读写和格式化. Android 设备包含两类分区: 一类是启动分区,对启动过程至关重要. 一 ...

  3. Docker容器内存监控

    linux内存监控 要明白docker容器内存是如何计算的,首先要明白linux中内存的相关概念. 使用free命令可以查看当前内存使用情况. [root@localhost ~]$ free tot ...

  4. iOS微信内存监控

    WeTest 导读 目前iOS主流的内存监控工具是Instruments的Allocations,但只能用于开发阶段.本文介绍如何实现离线化的内存监控工具,用于App上线后发现内存问题. FOOM(F ...

  5. 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程

    基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程   By: 授客 QQ:1033553122     1. 测试环境 2. 实现功能 3. 使用前提 4. ...

  6. 搭建Jmeter + Grafana + InfluxDB性能测试监控环境

    背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...

  7. redis内存监控与回收

    Redis有自己的内存分配器,当key-value对象被移除时,Redis不会马上向操作系统释放其占用内存.redis之所以这样的设计有两个原因. OS可能会将释放内存交换到虚拟内存,但OS的虚拟内存 ...

  8. 10min 手写一个内存监控系统

    本文的目的在于,尽可能用简单的代码,让大家了解内存监控的原理,及思想.更容易去理解Nagios.Zabbix.Ganglia监控原理,文章最后还有视频教程链接哦,从零敲出来的全过程 思路分为下面几块: ...

  9. Linux 内存监控

    1.按照内存使用方式排序 top 之后使用 shift + m 那么top按照内存使用从大到小进行排列,使用 shift + P 表示按照CPU进行排序. bigfish 1118m 438m 30m ...

  10. 微信团队原创分享:iOS版微信的内存监控系统技术实践

    本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...

随机推荐

  1. 良心国产工具,比Xshell好用还免费!

    使用或维护Linux系统的都知道,我们日常对服务器的操作,一般都会借助SSH工具远程登录到服务器之后进行操作.常用的SSH工具有不少,比如:Xshell.Putty.SSH Secure Shell ...

  2. Windows 监控配置

    1:Windows2003服务器 2:Windows Sever 2008安装snmp 3:Windows Sever 2012安装snmp 4:Windows 10安装snmp 服务配置 双击打开[ ...

  3. 手写spring的ioc的流程截图(笔记-1)

    spring ioc是什么? IoC 容器是 Spring 的核心,也可以称为 Spring 容器.Spring 通过 IoC 容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期. S ...

  4. CF650A Watchmen

    首先解释一下题目里面的两个概念: 曼哈顿距离:即 \(|x_a - x_b| + |y_a - y_b|\) 欧几里得距离:即 \(\sqrt{(x_a - x_b) ^ 2 + (y_a - y_b ...

  5. 物联网通信技术最全科普!你一定要了解的NB-IoT

    摘要: NB-IoT(窄带蜂窝物联网)产业正在迅速崛起. 我们这一期的文章主要是普及一些NB-IoT通信技术的相关知识点.也希望你能get到属于自己的知识盲点! 一.前言 NB-IoT(窄带蜂窝物联网 ...

  6. 数仓备机DN重建:快速修复你的数仓DN单点故障

    摘要:大规模分布式系统中的故障无法避免.当DN发生单点故障时,恢复手段有哪些,又是如何恢复的,本节重点介绍操作gs_ctl build是如何修复DN单点故障的. 本文分享自华为云社区<华为云数仓 ...

  7. Java 17 从 Solon 开始入手,v1.10.0

    相对于 Spring Boot 和 Spring Cloud 的项目: 启动快 5 - 10 倍. (更快) qps 高 2- 3 倍. (更高) 运行时内存节省 1/3 ~ 1/2. (更少) 打包 ...

  8. PPT 商务PPT怎么做

    商务报告:公司专属PPT模板怎么做? 通过LOGO 提取主色调 搜集相关元素 通过LOGO 提取主色调 搜集相关元素 下载图片使用 建立版面

  9. MappedByteBuffer 写文件

    MappedByteBuffer中"put"和"force"的区别是什么 put()将数据存储在缓冲区中,force()通知操作系统将缓冲区刷新到磁盘. put ...

  10. 【Django drf】序列化器总结

    目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...