Grafana针对内存监控值的学习与使用
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针对内存监控值的学习与使用的更多相关文章
- 从Container内存监控限制到CPU使用率限制方案
转自:http://blog.csdn.net/Androidlushangderen/article/details/50282593 前言 最近在运维我们部门的hadoop集群时,发现了很多Job ...
- Android 分区和内存监控
Android 分区和内存监控 Andorid之所以是分区,是因为各自有对应的功能和用途的考量,可以进行单独读写和格式化. Android 设备包含两类分区: 一类是启动分区,对启动过程至关重要. 一 ...
- Docker容器内存监控
linux内存监控 要明白docker容器内存是如何计算的,首先要明白linux中内存的相关概念. 使用free命令可以查看当前内存使用情况. [root@localhost ~]$ free tot ...
- iOS微信内存监控
WeTest 导读 目前iOS主流的内存监控工具是Instruments的Allocations,但只能用于开发阶段.本文介绍如何实现离线化的内存监控工具,用于App上线后发现内存问题. FOOM(F ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程 By: 授客 QQ:1033553122 1. 测试环境 2. 实现功能 3. 使用前提 4. ...
- 搭建Jmeter + Grafana + InfluxDB性能测试监控环境
背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...
- redis内存监控与回收
Redis有自己的内存分配器,当key-value对象被移除时,Redis不会马上向操作系统释放其占用内存.redis之所以这样的设计有两个原因. OS可能会将释放内存交换到虚拟内存,但OS的虚拟内存 ...
- 10min 手写一个内存监控系统
本文的目的在于,尽可能用简单的代码,让大家了解内存监控的原理,及思想.更容易去理解Nagios.Zabbix.Ganglia监控原理,文章最后还有视频教程链接哦,从零敲出来的全过程 思路分为下面几块: ...
- Linux 内存监控
1.按照内存使用方式排序 top 之后使用 shift + m 那么top按照内存使用从大到小进行排列,使用 shift + P 表示按照CPU进行排序. bigfish 1118m 438m 30m ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
随机推荐
- flutter BLoC框架
BLoC(Business Logic Component)是一种在Flutter中用于管理状态和处理业务逻辑的设计模式和架构模式. BLoC 的核心思想是将应用程序的状态.业务逻辑和UI分离开来,以 ...
- Unity3D学习笔记5——创建子Mesh
目录 1. 概述 2. 详论 2.1. 实现 2.2. 解析 3. 参考 1. 概述 在文章Unity3D学习笔记4--创建Mesh高级接口通过高级API的方式创建了一个Mesh,里面还提到了一个Su ...
- Cesium案例解析(八)——CesiumWidget简化窗体
目录 1. 正文 2. 参考 1. 正文 Cesium Widget这个案例展示了一个Cesium的简化窗体.在之前的案例中使用的都是Cesium.Viewer这个窗体组件,包含了非常丰富的组件内容. ...
- 云小课|手把手教您在PyCharm中连接云端资源进行代码调试
摘要:让我们看看如何在PyCharm中连接云端资源进行代码调试吧! 本文分享自华为云社区<[云小课]EI第54课 手把手教您在PyCharm中连接云端资源进行代码调试>,作者:Hello ...
- 华为云Classroom聚焦人才数字化转型,引领智慧教育改革新模式
随着教育行业数字化转型进程加快,利用现代化云端技术手段,线上线下相结合方式建立的全新OMO产教融合一体化已成为行业趋势.华为云Classroom平台沉淀了华为多年研发实践经验和多种前沿技术,以赋能伙伴 ...
- 开心档之MySQL 导入数据
MySQL 导入数据 本章节我们为大家介绍几种简单的 MySQL 导入数据命令. 1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导入的 ...
- 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...
- 备份批处理文件 bat 生成 date 取年时,只取到周
备份数据库文件时,发现MySQL备份生成的文件名为 [vipsoft_周三],发现是系统的日期格式问题.需调整日期格式,生成 [vipsoft_20220601.sql] mysqldump -uro ...
- 浅谈locust 性能压测使用
1. 基本介绍 Locust是一个开源的负载测试工具,用于模拟大量用户并发访问一个系统或服务,以评估其性能和稳定性.编写语言为Python,可通过Python来自定义构建性能压测场景脚本.Locust ...
- C++11实用特性2
1 可调用对象包装器.绑定器 1可调用对象 C++中的可调用对象分为四类: 函数指针: 任何一个函数都可以抽象成一个函数指针 int print(int a, double b) { cout < ...