记录一次redis cpu异常升高的排插思路
好久没有写博客 现在重新捡起来 记录工作中遇到的问题 方便以后在遇到类似的问题也有一个参考。
背景:有一天生产服务器redis cpu 频繁报警 单核cpu 所以在想是不是业务量上来了。确定之后发现不是这个问题。
排查思路:
1. 查看监控cpu 最近三天 七天的历史状态 发现cpu目前是异常状态,比往常要高很多
2. 查看慢日志 发现有get app_encrypted:crawler_task_switch 获取某个key 用了40ms
3. monitor 监控当前命令使用状态 收集1分钟
redis-cli -h ***** -a **** monitor > monitor.txt
4. 查看top command 发现get是最频繁的
取关键字GET的进行分析,统计key的get次数:
awk '/GET/{a[$5]++}END{for(i in a)print i"\t"a[i]}' monitor.txt |sort -k2nr|more
5. 发现排名第一的key是app_encrypted:crawler_task_switch 1分钟get 十几万次。
问题找到,反应给开发 发现写了死循环 代码修改之后cpu恢复正常。
以上是问题排查及解决思路。 在这里记录不多 但是在排查过程中还是会遇到一些其他问题。
记录一次redis cpu异常升高的排插思路的更多相关文章
- CPU异常分析(以trap00为例)
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html CPU异常的记录(trap00为例) 一.CPU检测到除零异常的执 ...
- 两种异常(CPU异常、用户模拟异常)的收集
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 两种异常(CPU异常.用户模拟异常)的收集 文章的核心:异常收集 ...
- 软件调试——CPU异常列表
CPU异常主要分为三类:错误类异常,陷阱类异常和终止类异常 1 错误类异常 Fault CPU遇到该类异常后,会先将CS和EIP(当前发生错误的指令,而不是下一条指令)压栈,然后跳到异常处理函数中,执 ...
- 关于linux系统CPU篇--->CPU使用率升高
1.CPU使用率为单位时间内CPU使用情况的统计,以百分比的方式展示. LINUX作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运 ...
- Redis发生异常WRONGTYPE Operation against a key holding the wrong kind of value
Redis发生异常WRONGTYPE Operation against a key holding the wrong kind of value Redis发生异常WRONGTYPE Operat ...
- 一次死锁导致CPU异常飘高的整个故障排查过程
目录 一.问题详情 top 命令截图 联系腾讯云排查 检查系统日志发现异常 二. 问题解析 三.问题原因 最终结论 四.扩展 进程的几种状态 马后炮 如何快速清理僵尸进程(Z) 内核参数相关 如何查看 ...
- Db2性能:系统CPU高问题分析的一些思路
Db2性能:系统CPU高问题分析的一些思路 1. 如何判断CPU高? 有很多操作系统的命令可以看出来,比如ps -elf,iostat, vmstat, top/topas, 2. 收集数据 CPU高 ...
- 事故记录-过多进程致使CPU卡死
早上到公司,发现邮箱内有报警信息显示CPU和IO使用都已超标.报警内容如下:主机: test-server-192.168.1.18 时间: 2015.11.15 15:25:17状态: PROBLE ...
- TRUNCATE引起CPU异常上涨
13:05 2015/9/11 午睡醒来收到几封CPU使用率预警邮件.登录对应服务器,打开资源监视器,看到sqlservr.exe进程的CPU达到40%(平常服务器CPU消耗在10%以内).查看CPU ...
随机推荐
- Fire Balls 07——砖块的淡出,消失以及砖塔的下落
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- HTML(七)CSS
一个实例 <!DOCTYPE html> 菜鸟教程(runoob.com) body { background-color:#d0e4fe; } h1 { color:orange; te ...
- JavaScript的“true/false && expression”逻辑表达式
true/false && expression 在学习react的过程中,遇到了如下一个方法: function Mailbox(props) { const unreadMessa ...
- 基于Selenium+Python的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- IDEA导入Maven工程
1. 2.选择要导入的工程 3. 4. 5. 6.OK之后点击4图页面的next 7.点击Finish之后 完成!
- Vue中的slot(占坑,预留位置)
Vue中的slot(占坑,预留位置) 子模板不使用slot 子模板使用slot 子模板使用使用name属性,且传递data 文件名:Slots.vue //slot组件 <template> ...
- 网络基础 ----------- 电脑作为wifi站点
在上大学的时候最难受的就是,没有无线,但是电脑有宽带,那么怎么将电脑变成路由器哪 1.首先查看你的无线网卡是否支持开无线 通过命令win + R 快捷件进入命令窗口输入 : . netsh wlan ...
- style属性css与javascript对照表
有时候会用javascript来控制标签的style,但js的style属性写法跟css有点不一样,通常是一个单词的写法不变,单词-单词属性会去掉“-”,再把第二个单词的首字母大写,估计是为了与减法运 ...
- linux 假死分析
所谓假死,就是能ping通,但是ssh不上去:任何其他操作也都没反应,包括上面部署的apache也打不开页面. 作为一个多任务操作系统,要把系统忙死,忙到ssh都连不上去,也不是那么容易的.尤其是现在 ...
- [翻译] ASP.NET Core 3.0 的新增功能
ASP.NET Core 3.0 的新增功能 全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更 ...