8.3.1 系统内存查看

script/下的memstat.sh或者ps_mem.py都可以查看系统的内存情况,两个工具都需要root权限。

8.3.2 系统swap内存查看

#!/bin/bash
# Get current swap usage for all running processes
# Erik Ljungstrom 27/05/2011
# Modified by Mikko Rantalainen 2012-08-09
# Pipe the output to "sort -nk3" to get sorted output
# Modified by Marc Methot 2014-09-18
# removed the need for sudoSUM=0
OVERALL=0
for DIR in `find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"`
doPID=`echo $DIR | cut -d / -f 3`PROGNAME=`ps -p $PID -o comm --no-headers`
for SWAP in `grep VmSwap $DIR/status 2>/dev/null | awk '{ print $2 }'`
dolet SUM=$SUM+$SWAP
done
if (( $SUM > 0 )); thenecho "PID=$PID swapped $SUM KB ($PROGNAME)"
fi
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL KB"

8.3.3 info查看内存

used_memory:859192数据结构的空间 used_memory_rss:7634944实占空间 mem_fragmentation_ratio:8.89前2者的比例,1.N为佳,如果此值过大,说明redis的内存的碎片化严重,可以导出再导入一次.

8.3.4 dump.rdb文件成生内存报告(rdb-tool)

# rdb -c memory ./dump.rdb > redis_memory_report.csv
# sort -t, -k4nr redis_memory_report.csv

8.3.5 query在线分析

8.3.6 内存抽样分析

8.3.7 统计生产上比较大的key

对redis中的key进行采样,寻找较大的keys。是用的是scan方式,不用担心会阻塞redis很长时间不能处理其他的请求。执行的结果可以用于分析redis的内存的只用状态,每种类型key的平均大小。

8.3.8 查看key内部结构和编码等信息

查看一个key内部信息,比如refcount、encoding、serializedlength等,结果如下 Value at:0x7f21b9479850 refcount:1 encoding:raw serializedlength:6 lru:8462202 lru_seconds_idle:215

8.3.9 Rss增加,内存碎片增加

此时可以选择时间进行redis服务器的重新启动,并且注意在rss突然降低观察是否swap被使用,以确定并非是因为swap而导致的rss降低。

一个典型的例子是:http://grokbase.com/t/gg/redis-db/14ag5n9qhv/redis-memory-fragmentation-ratio-reached-5000


Redis开发运维实践指南 本文为《Redis开发运维实践指南》内容,该书作者为黄鹏程,已授权云栖社区转载。

Redis开发运维实践问题处理只内存检查相关推荐

  1. Redis开发运维实践上线部署规划之持久化设置

    5.4 持久化设置 RDB和AOF两者毫无关系,完全独立运行,如果使用了AOF,重启时只会从AOF文件载入数据,不会再管RDB文件.在配置上有三种选择:不持久化,RDB,RDB+AOF.官方不推荐只开 ...

  2. Redis开发运维实践数据操作之HyperLogLog操作

    2.7.1 将元素添加至 HyperLogLog PFADD key element [element ...] 这个命令可能会对 HyperLogLog 进行修改,以便反映新的基数估算值,如果 Hy ...

  3. 一站式学习Redis 从入门到高可用分布式实践(慕课)第六章 Redis开发运维常见问题...

    fork操作 1.同步操作 2.与内存量息息相关:内存越大,耗时越长(与机器类型有关) 3.info:latest_fork_usec 进程外开销 AOF追加阻塞 不知道哪个命令??? 单机多实例部署 ...

  4. 开发运维效率提升 80%,计算成本下降 50%,分众传媒的 Serverless 实践

    作者:吴松 本文总结于分众传媒研发总监吴松在阿里云云原生实战峰会上的分享,从三个方面讲述了对 Serverless 技术的探索. 分众传媒的业务现状 分众传媒的业务场景很简单,就是广告主买量,然后进行 ...

  5. 首次公开!阿里搜索中台开发运维一体化实践

    阿里妹导读:2015年底,阿里宣布启动阿里巴巴集团中台战略.战略定义为:构建符合DT时代的更具创新性.灵活性的"大中台.小前台"组织机制和业务机制.其中,前台作为一线业务,更敏捷更 ...

  6. 高级开发运维从简单学:Redis哨兵和集群小贴士

    目录 写在前面 一.数据库服务器高可用 二. Sentinel (哨兵)是啥? 三.部署 Sentinel过程 1.初始化服务器 2.将普通的Redis服务器使用的代码替换成sentinel专用代码 ...

  7. 开发运维已死,无运维万岁

    在如今的IT发展趋势中,开发运维(DevOps )这个词非常流行.这个词是几年前随着单页应用程序(SPA)的盛行而开始火爆起来的.然而,在接下来的几年中,你将听到一个新的流行语:无运维(NoOps). ...

  8. DevOps 开发运维一体化~EXIN

    当我们谈到DevOps时,可能讨论的是:流程和管理,运维和自动化,架构和服务,以及文化和组织等等概念.那么,到底什么是'DevOps'呢? 随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发一 测 ...

  9. visual studio 设计器不显示_面向国际市场的装置开发运维软件设计与实现

    南京南瑞继保电气有限公司的研究人员陈宏君.张磊.徐睿.曾凯.刘坤,在2019年第3期<电气技术>上撰文,分析了面向国际市场的用户软件现状与问题,介绍了新一代控制保护平台PCS-S系列装置配 ...

最新文章

  1. 小程序中获取高度以及设备的方法
  2. struts2操作json成字符串格式错误被转义及其前台访问json对象的方法
  3. SpringBoot取出信息
  4. 【数据库】如何解决数据库附加失败问题
  5. android微信支付代码,详解android微信支付实例代码
  6. 邀请您加入移动开发专家联盟
  7. win7 virtio 驱动下载
  8. 移动硬盘格式化了?这样恢复数据
  9. 网站SEO优化方案 全面详细的写法
  10. order by、distribute by、sort by、group by、partition by
  11. csgo autoexec.cfg
  12. 【日记本砸】21.01.08-12 最快的成长方式就是慢慢来
  13. 用C#制作PDF文件全攻略 .
  14. 谷粒商城微服务分布式基础篇二—— Spring Cloud Alibaba、Nacos注册与发现
  15. solidworks模型如何进行1/4剖面
  16. ubuntu18系统支持中文
  17. 类unix系统中启动脚本记录
  18. 航天广电广播系统服务器调试,广播系统应该做哪些调试
  19. matlab程序特殊符号,matlab中怎么输入特殊符号
  20. 关于PL-2303HX驱动问题

热门文章

  1. python高维向量的可视化_Tensorboard教程:高维向量可视化
  2. 全局样式_CAD新手福利:不懂标注样式修改的请进来一看
  3. 类路径是什么意思_多播是什么意思 多播介绍【详解】
  4. asp.net pdf如何转换成tif_如何将pdf转换成高清图片?你需要这个软件!|电脑|pdf|转换器...
  5. 深蓝学院《从零开始手写VIO》作业七
  6. 【从caffe到Tensorflow 1】io 操作
  7. 中国产业园区发展动态及前景趋势规划建议报告2022-2028年版
  8. 全球及中国仪器润滑剂行业十四五竞争形势与投资战略咨询报告2021-2027年版
  9. .NET Core 3.0 Preview 9 发布
  10. 动态代理:JDK动态代理和CGLIB代理的区别