故障排查方法 简单的来说,故障排错的方法很简单:说明问题,分析问题,解决问题。在这三个步骤中,分析问题花费的时间最多,说明问题却最容易被我们忽略,而解决问题则相对简单。   说明问题 当问题发生后,我们应该做的第一件事是尽快收集信息,确定问题的现象以及造成的影响。有时候,我们还需要利用一些工具做一些对比测试,以进一步对问题进行确认。 通常情况下,
转载 精选 2011-12-29 22:59:12
972阅读
1点赞
1评论
Arthas是什么?中文名:阿尔萨斯,作者也许是个魔兽玩家.. Arthas — 是阿里开源的java诊断工具。官方文档:https://arthas.aliyun.com/doc/quick-start.html Arthas可以帮我们做什么? 1、如果想在线上debug一个方法或者想看方法的返回,不需要申请线上debug,不需要重新加日志重新发布,直接watch指
搞Java开发的,经常会碰到下面两种异常: 1、java.lang.OutOfMemoryError: PermGen space 2、java.lang.OutOfMemoryError: Java heap space 要详细解释这两种异常,需要简单重提下Java内存模型。 (友情提示:本博文章
转载 2016-03-24 10:49:00
245阅读
2评论
# Java排查方法耗时的科普文章 在软件开发过程中,程序员们时常会遇到性能瓶颈,尤其是在 Java 应用程序中。方法的耗时分析对于识别和解决这些问题至关重要。本文将探讨如何排查 Java 方法的耗时,帮助你更好地理解和优化代码。 ## 1. 了解方法耗时 在 Java 中,方法耗时的分析主要涉及到几个关键点: - **执行时间**:方法从调用开始到结束所消耗的时间。 - **调用频率**
原创 11天前
11阅读
问题解析生产运行的应用,在某些场景会发生OOM,然而OOM只是系统反馈给开发人员的一种结果现象,真正引发OOM的原因则需要开发人员去定位、分析、解决。我们的应用可以理解为一个存在多个格子的装水的容器,垃圾回收器则是维护容器的人员;当有请求时,就相当于向容器中注水,当容器将要装满时,维护人员就会将污水放出,为新的水注入腾出空间,如果水漫过容器,那就是OOM的现象了。OOM原因容器的格子太小(开发人员
目录 前言一、MAT(Memory Analyzer Tool)二、软件初识三、捕获dump文件1、主动方式2、被动方式四、分析dump文件总结 前言项目运行过程中,我们可能会遇到Java内存溢出Out Of Memory。此时我们可以借助内存分析工具MAT(Memory Analyzer Tool),来定位是哪里出现了问题。 一、MAT(Memory Analyzer Tool) 下载地址:Ec
转载 2023-06-02 22:19:07
1037阅读
死锁(Dead Lock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方释放资
原创 2022-08-09 16:25:49
93阅读
对于后端程序员,特别是 Java 程序员来讲,排查线上问题是不可避免的。各种 CPU 飚高,内存溢出,频繁 GC 等等,这些都是令人头疼的问题。楼主同样也遇到过这些问题,那么,遇到这些问题该如何解决呢?首先,出现问题,肯定要先定位问题所在,然后分析问题原因,再然后解决问题,最后进行总结,防止下次再次出现。预备知识top命令top命令使我们最常用的Linux命令之一,它可以实时的显示当前正在执行的进
​​https://mp.weixin.qq.com/s/TLTxoKFp1kCWxjRmbjxd2w​​转载出处
转载 2021-12-06 15:03:24
3470阅读
  1.应用程序测试代码 测试代码如程序清单 1.1所示:程序清单 1.1#include <stdio.h>  int main (int argc, char **argv){sleep(2);volatile int *a = (int *)0x40; //设置物理地址  printf("value = %x\n",*a); //读取物理地
原创 2017-11-22 17:44:26
962阅读
在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。因此,在实际应用中,我们通常使用 Linux 服
原创 精选 2023-04-11 09:20:35
332阅读
## Docker 容器问题排查方法 在使用 Docker 运行容器时,可能会遇到各种问题,例如容器无法启动、容器运行异常等。本文将介绍一些常见的 Docker 容器问题排查方法,帮助你快速定位和解决问题。 ### 1. 查看容器状态 首先,我们需要检查容器的状态。可以使用如下命令查看容器列表: ```shell docker ps ``` 该命令将显示正在运行的容器列表,包括容器的 I
原创 11月前
267阅读
工具:node-inspectorpomelo-clichrome步骤通过pomelo-cli中的dump memory,导出当前服务器的内存堆栈文件:dump1.heapsnapshot。服务器运行指定模块一段时间后,导出堆栈文件:dump2.heapsnapshot。用chrome 读取堆栈文件:打开开发者工具->Profiles->Load->选择堆栈文件。先load 前面
原创 2015-02-13 16:26:16
5164阅读
在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。因此,在实际应用中,我们通常使用 Linux 服
原创 2022-12-02 17:50:31
227阅读
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环。 (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen) 以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。 根据top命令,发现PI
转载 2016-03-24 10:48:00
197阅读
2评论
# Java内存溢出排查方法 作为一个经验丰富的开发者,我将教会你如何排查Java内存溢出问题。在开始之前,我将按照以下步骤给你展示整个排查流程,并提供每一步需要做的操作和相应的代码。 ## 流程图 ```mermaid flowchart TD A(观察内存溢出现象) --> B(查看错误信息) B --> C(分析错误栈信息) C --> D(确定是否为内存溢出)
原创 2023-08-30 13:32:28
855阅读
一、CPU过高 1、确定问题进程:top查看CPU过高的线程ID:PID 2、确定问题进程中的问题线程:ps -mp pid -o THREAD,tid,time | sort -rn 3、将线程ID转换成16进制:printf "%x\n" tid 4、打印进程的堆栈信息并定位到问题线程:jsta ...
转载 2021-07-20 17:05:00
245阅读
2评论
1 软件性能较差,占用CPU较多,往往是由于某段代码逻辑算法不佳导致,那如何在数以千计的函数中找到问题函数呢?2 在使用!runaway命令比较不同时间各线程占用CPU时间,找到CPU时间
转载 2018-11-29 20:27:00
277阅读
2评论
在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。因此,在实际应用中,我们通常使用 Linux 服
原创 2023-01-09 17:47:09
61阅读
写在前面JS的内存问题往往出现在单页应用(SPA)中,一般认为场景特点是:页面生命周期长(用户可能存留10分钟、半小时甚至2小时)交互功能多(页面偏功能,而不是展示)重JS应用(前端有复杂的数据状态、视图管理)内存泄漏是一个累积的过程,只有页面生命周期略长的时候才算是个问题(所谓“刷新一下满血复活”)。频繁交互能够加快累积过程,偏展示的页面很难把这样的问题暴露出来。最后,JS逻辑相对复杂才有可能出
原创 2021-01-15 19:59:54
817阅读
  • 1
  • 2
  • 3
  • 4
  • 5