性能问题分析及解决
文章平均质量分 90
线上出现卡顿、响应慢,如何排查并解决,菜鸟从0开始学习
买糖买板栗
java
展开
-
排障命令-汇总
定义:(global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。定义:查看当前进程的打开文件详情(list open files)定义:查询系统负载、CPU、内存使用情况。定义:可用于显示系统资源的设置。定义:查询JVM内存对象信息。定义:打印进程的堆栈信息。定义:查看内存使用情况。定义:用于显示网络状态。jps常用命令:jps。定义:压缩文件中查找。定义:查询进程号相关。原创 2023-02-28 20:32:21 · 911 阅读 · 0 评论 -
使用阿里云aliyun-oss-java-sdk的 getObject方法返回的输入流未主动释放 导致http连接泄漏的线上问题排查
项目功能:基于netty的数据传输服务,接收客户端数据,存在本地磁盘;定时任务,定时处理本地的文件,并上传到阿里云OSS线上问题:运维监控发现过去半个小时都没有记录写入到DB(因为我们每上传到OSS一次会DB记一条记录)问题排查过程:1、运维将实时的进程的dump文件拷贝出来2、使用mat工具分析dump文件(mat介绍:https://www.cnblogs.com/trust-free...原创 2019-12-03 16:50:36 · 2726 阅读 · 0 评论 -
mac下 内存分析工具mat安装,使用mat分析:内存溢出、内存泄漏,结合jstat、jmap等命令的使用
分析前提:mat的安装详情:https://blog.csdn.net/qq_34599254/article/details/82685110 https://www.cnblogs.com/trust-freedom/p/6744948.html 安装后,再具体使用过程中,发现我dump的文件有4个G,而mat默认的配置是1个G,...原创 2019-11-11 19:12:49 · 6361 阅读 · 2 评论 -
性能分析5~top命令、jps命令、jstack命令:分析多线程下HashMap卡死原因分析
多线程下,HashMap使用很容易出bug,直接被卡死,原因分析我们先看一段代码:import java.util.HashMap;import java.util.Map;/** * 多线程下HashMap卡死原因分析 */public class Test4_HashMap_bug { static Map map = new HashMap();原创 2017-09-13 14:59:56 · 1854 阅读 · 0 评论 -
性能分析4~jmap命令分析:堆信息、内存溢出
先看一个例子:jmap -heap pid该命令用于:展示pid的整体堆信息,运行结果如下超级实用:jmap -histo pid | head -n20查看TOP20对象分布jmap -histo:live [pid] >a.log 将详细信息写入到文件,便于观察zhengchao1991deMacBook-Pro:~ zhengchao1991$ jmap -he...原创 2017-08-25 16:45:40 · 3404 阅读 · 0 评论 -
性能分析3~jstack命令分析:死锁原因、cpu使用率过高的线程
jstack主要用来查看某个Java进程内的线程堆栈信息。语法格式如下:jstack [option] pidjstack [option] executable corejstack [option] [server-id@]remote-hostname-or-ip 命令行参数选项说明如下:-l long listings,会打印出额外的锁信息,在发生死锁时可以用js原创 2017-08-23 16:53:50 · 3387 阅读 · 0 评论 -
性能分析2~jstat命令
上一篇文章top命令,估计大家并没有感觉到top命令有啥用,这一篇文章我们结合jstat命令来讲解一下;个人习惯,上来直接讲理论已经不适合我这种很难静下心来的同志了,我们直接看实例:假设我们使用top命令发现进程id为15813的进行有问题,我们继续使用jstat命令来分析:上面的信息是这个进程的jvm信息,我们一一介绍:S0C:Survivor space 0 区大小 (其他原创 2017-08-22 21:59:45 · 865 阅读 · 0 评论 -
性能分析1~top命令
最近开始学习解决线上问题的知识,大神一般怎么做,我也不知道,网上一搜都是top作为马前卒,来看看我的电脑这个命令运行的结果:第一次看,估计不是太适应,我们只看核心简单的:load avg:linux系统中的Load对当前CPU工作量的度量,也有简单的说是进程队列的长度。Load Average 就是一段时间(1分钟、5分钟、15分钟)内平均原创 2017-08-22 20:42:33 · 1105 阅读 · 0 评论