主要观点总结
本文主要描述了两个场景:MySQL进程CPU飙升到900%和Java进程CPU飙升到900%的情况,并给出了处理方法和真实案例。涉及到了使用top命令观察进程、使用jstack命令查看栈信息、定位问题等步骤。
关键观点总结
关键观点1: MySQL进程CPU飙升处理
使用top命令观察进程,确定是mysqld导致还是其他原因。如果是mysqld导致,使用show processlist查看session情况,找出消耗资源的sql。定位到有问题的SQL语句后,分析执行计划是否准确,index是否缺失或者数据量太大造成。处理方法是kill掉这些线程,调整SQL语句、加索引、改内存参数等,再观察CPU使用率。
关键观点2: Java进程CPU飙升处理
首先通过top指令查看当前占用CPU较高的进程PID,接着查看当前进程消耗资源的线程PID。通过jstack命令查看栈信息,定位到线程对应的具体代码。处理空循环或空自旋、在循环中创建大量新对象等问题。
关键观点3: 真实案例介绍
介绍了MySQL数据库优化的真实案例和Java的CPU飙升700%的优化案例,通过具体案例展示了问题定位和处理过程。
文章预览
👉 这是一个或许对你有用 的社群 🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 「 芋道快速开发平台 」 知识星球。 下面是星球提供的部分资料: 《项目实战(视频)》 :从书中学,往事中 “练 ” 《互联网高频面试题》 :面朝简历学习,春暖花开 《架构 x 系统设计》 :摧枯拉朽,掌控面试高频场景题 《精进 Java 学习指南》 :系统学习,互联网主流技术栈 《必读 Java 源码专栏》 :知其然,知其所以然 👉 这是一个或许对你有用的开源项目 国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。 功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能: Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud 视频
………………………………