草庐IT

基于Arthas的应用在线诊断平台实践

背景介绍在日常系统运行过程中,故障总是不期而遇。一旦出现故障通常是查监控,翻各种日志,从大量的日志中寻找蛛丝马迹。如果问题现场的日志记录缺失,会尝试在本地重现问题并调试解决,本地难以重现的,只能再加日志,再部署,再重现,然后再查日志,效率较低。对于复杂一些的比如程序性能问题,如何定位性能瓶颈,一不小心又要回到加日志、部署、查日志、再加日志的老路,不仅效率不高,也破坏了问题现场。所以针对以上问题,我们的目标是建立一个Java应用在线诊断平台,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。系统架构

基于Arthas的应用在线诊断平台实践

背景介绍在日常系统运行过程中,故障总是不期而遇。一旦出现故障通常是查监控,翻各种日志,从大量的日志中寻找蛛丝马迹。如果问题现场的日志记录缺失,会尝试在本地重现问题并调试解决,本地难以重现的,只能再加日志,再部署,再重现,然后再查日志,效率较低。对于复杂一些的比如程序性能问题,如何定位性能瓶颈,一不小心又要回到加日志、部署、查日志、再加日志的老路,不仅效率不高,也破坏了问题现场。所以针对以上问题,我们的目标是建立一个Java应用在线诊断平台,让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。系统架构

详解JAVA线程问题诊断工具Thread Dump

摘要:ThreadDump是非常有用的诊断Java应用问题的工具。本文分享自华为云社区《调试排错-Java线程分析之线程Dump分析》,作者:龙哥手记。ThreadDump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个Java虚拟机打印的threaddump略有不同,但是大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。ThreadDump特点能在各种操作系统下使用;能在各种Java应用服务器下使用;能在生产环境下

详解JAVA线程问题诊断工具Thread Dump

摘要:ThreadDump是非常有用的诊断Java应用问题的工具。本文分享自华为云社区《调试排错-Java线程分析之线程Dump分析》,作者:龙哥手记。ThreadDump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个Java虚拟机打印的threaddump略有不同,但是大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。ThreadDump特点能在各种操作系统下使用;能在各种Java应用服务器下使用;能在生产环境下

【Java面试】生产环境服务器变慢,如何诊断处理?

“生产环境服务器变慢?如何诊断处理”这是最近一些工作5年以上的粉丝反馈给我的问题,他们去一线大厂面试,都被问到了这一类的问题。今天给大家分享一下,面试过程中遇到这个问题,我们应该怎么回答。这个问题高手部分的回答,我整理到了一个10W字的文档里面,大家可以在我的主页加V领取。来看看高手的回答。高手:生产环境服务器处理效率变慢,我认为主要会涉及到三个纬度:CPU的利用率磁盘IO效率内存CPU利用率过高或者CPU利用率过低,都会影响程序的处理效率。利用率过高,说明当前服务器要处理的指令比较多,当CPU忙不过来的时候,指令的运算效率自然就会下降。反馈在用户上的感受就是程序响应变慢了。针对这个问题,我们

【Java面试】生产环境服务器变慢,如何诊断处理?

“生产环境服务器变慢?如何诊断处理”这是最近一些工作5年以上的粉丝反馈给我的问题,他们去一线大厂面试,都被问到了这一类的问题。今天给大家分享一下,面试过程中遇到这个问题,我们应该怎么回答。这个问题高手部分的回答,我整理到了一个10W字的文档里面,大家可以在我的主页加V领取。来看看高手的回答。高手:生产环境服务器处理效率变慢,我认为主要会涉及到三个纬度:CPU的利用率磁盘IO效率内存CPU利用率过高或者CPU利用率过低,都会影响程序的处理效率。利用率过高,说明当前服务器要处理的指令比较多,当CPU忙不过来的时候,指令的运算效率自然就会下降。反馈在用户上的感受就是程序响应变慢了。针对这个问题,我们

深度学习&故障诊断初学者 - 学习路线

针对该领域初学者,经常有人一头雾水,不知如何学习,因此本文提供了一个学习路线注:以下路线适合使用深度学习做故障诊断的初学者(建议使用Python、pytorch)深度学习+故障诊断学习路线stage1:Python入门-打好编程基础在线免费python入门编程网站1在线免费python入门编程网站2stage2:吴恩达课程讲深度学习理论-浅浅理解神经网络stage3:看10篇中文故障诊断论文-对故障诊断有个大概了解stage4:深度学习实战(一定要动手敲代码)stage5:了解故障诊断相关理论知识及信号处理方法stage6:实战初级故障诊断代码(同一转速间)基于卷积神经网络的轴承故障诊断算法研

深度学习&故障诊断初学者 - 学习路线

针对该领域初学者,经常有人一头雾水,不知如何学习,因此本文提供了一个学习路线注:以下路线适合使用深度学习做故障诊断的初学者(建议使用Python、pytorch)深度学习+故障诊断学习路线stage1:Python入门-打好编程基础在线免费python入门编程网站1在线免费python入门编程网站2stage2:吴恩达课程讲深度学习理论-浅浅理解神经网络stage3:看10篇中文故障诊断论文-对故障诊断有个大概了解stage4:深度学习实战(一定要动手敲代码)stage5:了解故障诊断相关理论知识及信号处理方法stage6:实战初级故障诊断代码(同一转速间)基于卷积神经网络的轴承故障诊断算法研

西储大学(CWRU)轴承数据集故障诊断(一):数据读取,数据集划分

CWRU轴承数据集故障诊断博客编写背景数据集读取训练与测试完整数据读取代码博客编写背景本次博客是对深度学在机械设备的故障诊断(模式识别)领域的入门级的基础教程,主要是专门针对CWRU滚动轴承故障数据集的数据读取、数据集的划分进行展开。希望对初入故障诊断的大四毕业设计和研一的课题入门有一定的帮助。后续将会持续进行进阶的博客撰写和代码的编写。数据集读取不管是深度学习做寿命预测还是做故障诊断,我相信,难道初学者的第一步便是对数据集进行读取的操作以及进行振动信号的预处理如FFT、STFT、HHT、CWT;或者从一维时间序列转成二维图像等。本文主要是针对一维原始振动数据的读取。对于CWRU轴承数据集,有

西储大学(CWRU)轴承数据集故障诊断(一):数据读取,数据集划分

CWRU轴承数据集故障诊断博客编写背景数据集读取训练与测试完整数据读取代码博客编写背景本次博客是对深度学在机械设备的故障诊断(模式识别)领域的入门级的基础教程,主要是专门针对CWRU滚动轴承故障数据集的数据读取、数据集的划分进行展开。希望对初入故障诊断的大四毕业设计和研一的课题入门有一定的帮助。后续将会持续进行进阶的博客撰写和代码的编写。数据集读取不管是深度学习做寿命预测还是做故障诊断,我相信,难道初学者的第一步便是对数据集进行读取的操作以及进行振动信号的预处理如FFT、STFT、HHT、CWT;或者从一维时间序列转成二维图像等。本文主要是针对一维原始振动数据的读取。对于CWRU轴承数据集,有