热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

查看Redis集群所有节点内存工具

指定集群中任意一个节点,查看集群中所有节点当前已用物理内存、配置的最大物理内存和系统物理内存。​​源码(可从https:github.comeyjian

指定集群中任意一个节点,查看集群中所有节点当前已用物理内存、配置的最大物理内存和系统物理内存。

​源码(可从https://github.com/eyjian/redis-tools下载):

#!/bin/bash
# Query the memory of all nodes in a cluster
#
# Output example:
# $ ./query_redis_cluster.sh 192.168.0.31.21:6379
# [192.168.0.31.21:6379] Used: 788.57M Max: 15.00G System: 125.56G
# [192.168.0.31.22:6380] Used: 756.98M Max: 15.00G System: 125.56G
# [192.168.0.31.23:6380] Used: 743.93M Max: 15.00G System: 125.56G
# [192.168.0.31.24:6380] Used: 21.73M Max: 15.00G System: 125.56G
# [192.168.0.31.25:6380] Used: 819.11M Max: 15.00G System: 125.56G
# [192.168.0.31.24:6379] Used: 771.70M Max: 15.00G System: 125.56G
# [192.168.0.31.26:6379] Used: 920.77M Max: 15.00G System: 125.56G
# [192.168.0.31.27:6380] Used: 889.09M Max: 15.00G System: 125.27G
# [192.168.0.31.28:6379] Used: 741.24M Max: 15.00G System: 125.56G
# [192.168.0.31.29:6380] Used: 699.55M Max: 15.00G System: 125.56G
# [192.168.0.31.27:6379] Used: 752.89M Max: 15.00G System: 125.27G
# [192.168.0.31.21:6380] Used: 716.05M Max: 15.00G System: 125.56G
# [192.168.0.31.23:6379] Used: 784.82M Max: 15.00G System: 125.56G
# [192.168.0.31.26:6380] Used: 726.40M Max: 15.00G System: 125.56G
# [192.168.0.31.25:6379] Used: 726.09M Max: 15.00G System: 125.56G
# [192.168.0.31.29:6379] Used: 844.59M Max: 15.00G System: 125.56G
# [192.168.0.31.28:6380] Used: 14.00M Max: 15.00G System: 125.56G
# [192.168.0.31.22:6379] Used: 770.13M Max: 15.00G System: 125.56GREDIS_CLI=${REDIS_CLI:-redis-cli}
REDIS_IP=${REDIS_IP:-127.0.0.1}
REDIS_PORT=${REDIS_PORT:-6379}function usage()
{echo "Usage: `basename $0` redis_node" echo "Example: `basename $0` 127.0.0.1:6379"
}# with a parameter: single redis node
if test $# -ne 1; then usageexit 1
fieval $(echo "$1" | awk -F[\:] '{ printf("REDIS_IP=%s\nREDIS_PORT=%s\n",$1,$2) }')
if test -z "$REDIS_IP" -o -z "$REDIS_PORT"; thenecho "Parameter error"usageexit 1
fi# 确保redis-cli可用
which "$REDIS_CLI" > /dev/null 2>&1
if test $? -ne 0; thenecho "\`redis-cli\` not exists or not executable"exit 1
firedis_nodes=`redis-cli -h $REDIS_IP -p $REDIS_PORT cluster nodes | awk -F[\ \:\@] '!/ERR/{ printf("%s:%s\n",$2,$3); }'`
if test -z "$redis_nodes"; then# standlone$REDIS_CLI -h $REDIS_IP -p $REDIS_PORT FLUSHALL
else# clusterfor redis_node in $redis_nodes;doif test ! -z "$redis_node"; theneval $(echo "$redis_node" | awk -F[\:] '{ printf("redis_node_ip=%s\nredis_node_port=%s\n",$1,$2) }')if test ! -z "$redis_node_ip" -a ! -z "$redis_node_port"; then items=(`$REDIS_CLI -h $redis_node_ip -p $redis_node_port INFO MEMORY 2>&1 | tr '\r' ' '`)used_memory_rss_human=0maxmemory_human=0total_system_memory_human=0for item in "${items[@]}"doeval $(echo "$item" | awk -F[\:] '{ printf("name=%s\nvalue=%s\n",$1,$2) }')if test "$name" = "used_memory_rss_human"; thenused_memory_rss_human=$valueelif test "$name" = "maxmemory_human"; thenmaxmemory_human=$valueelif test "$name" = "total_system_memory_human"; thentotal_system_memory_human=$valuefidoneecho -e "[\033[1;33m${redis_node_ip}:${redis_node_port}\033[m]\tUsed: \033[0;32;32m$used_memory_rss_human\033[m\tMax: \033[0;32;32m$maxmemory_human\033[m\tSystem: \033[0;32;32m$total_system_memory_human\033[m" fifidone
fi

 


转载于:https://www.cnblogs.com/aquester/p/9891479.html


推荐阅读
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • 本文深入探讨了 Java 中 LocalTime 类的 isSupported() 方法,包括其功能、语法和使用示例。通过具体的代码片段,帮助读者理解如何检查特定的时间字段或单位是否被 LocalTime 类支持。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • Windows 环境下安装 Git 并连接 GitHub 的详细步骤
    本文详细介绍了如何在 Windows 系统中安装 Git 工具,并通过配置 SSH 密钥实现与 GitHub 的安全连接。包括下载、安装、环境配置及验证连接等关键步骤。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • JSOI2010 蔬菜庆典:树结构中的无限大权值问题
    本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]
  • 主板IO用W83627THG,用VC如何取得CPU温度,系统温度,CPU风扇转速,VBat的电压. ... [详细]
  • 在项目中使用 Redis 时,了解其不同架构模式(如单节点、主从复制、哨兵模式和集群)对于确保系统的高可用性和扩展性至关重要。本文将详细探讨这些模式的特点和应用场景。 ... [详细]
author-avatar
创办m觉e内能h行宫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有