- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 Java故障分析基础
JVM基础垃圾回收器GC日志jps, jinfo命令jmap, jhat命令jstat命令线程dumpjvisualVM / jconsole 参考链接:JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解...
2018-05-06 18:44:44 219
原创 MAT(Memory Analyzer tool)使用
当线上环境出现OOM/内存泄漏了,怎么办?让虚拟机在发生内存溢出时 Dump 出当前的内存堆转储快照,配置-XX:+HeapDumpOnOutOfMemoryError,当出现OOM时,分析dump下来的hprof文件,一般使用MAT辅助查看。 安装方式:1 eclipse安装MAT插件;安装说明:https://www.ibm.com/developerworks/cn/opensource/o...
2018-05-12 16:29:07 691
转载 dubbo参数调优
dubbo中配置优先级规律:方法级配置优先级高于接口级,consumer的优先级高于provider。详细:consumer的method配置 > provider的method配置consumer的reference配置 > provider的service配置consumer的consumer节点配置 > provider的provider节点配置 本地参数配置优...
2018-05-09 22:29:15 1643
原创 jps, jinfo命令
jps主要用来输出JVM中运行的进程状态信息。-q 不输出类名、Jar名和传入main方法的参数-m 输出传入main方法的参数-l 输出main类或Jar的全限名-v 输出传入JVM的参数 jinfo ...
2018-05-06 19:21:26 569
原创 线程dump
当应用程序运行变慢或者发生故障时,可能通过分析java的Thread Dumps得到分析他们得到阻塞和存在瓶颈的线程。线程堆栈是虚拟机中线程(包括锁)状态的一个瞬间状态的快照,即系统在某一个时刻所有线程的运行状态,包括每一个线程的调用堆栈,锁的持有情况。主要包含的信息包括 1、线程名字,id,线程的数量等。 2、线程的运行状态,锁的状态(锁被哪个线程持有,哪个线程在等待锁等) 3、调用堆...
2018-05-06 18:32:38 640
原创 jstat命令
概述Jstat 查看某个Java进程内的线程堆栈信息,用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控:- 类的加载及卸载情况- 查看新生代、老生代及持久代的容量及使用情况- 查看新生代、老生代及持久代的垃圾收集情况,包括垃圾回收的次数及垃圾回收所占用的时间- 查看新生代中Eden区及Survior区中容量及分配情况等常用命...
2018-05-06 18:23:55 647
原创 jmap, jhat命令
jmap命令有下面几种常用的用法jmap [pid]jmap -histo:live [pid] >a.logjmap -dump:live,format=b,file=xxx.xxx [pid]用得最多是后面两个。其中,jmap -histo:live [pid] 可以查看当前Java进程创建的活跃对象数目和占用内存大小。 jmap查看各个代的内存使用jmap 可以从 core du...
2018-05-06 18:11:52 367
原创 GC日志
阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。因此增加本节内容来讲解如何理解GC日志。每一种收集器的日志形式都是由它们自身的实现所决定的,换而言之,每个收集器的日志格式都可以不一样。但虚拟机设计者为了方便用户阅读,将各个收集器的日志都维持一定的共性,例如以下两段典型的GC日志分析。日志分析实例一33.125: [GC [DefNew: 3324K-...
2018-05-06 17:12:17 144
原创 垃圾回收器
HotSpot虚拟机中有7种垃圾收集器:Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1。垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法、分代收集)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别,此处主要介绍HotSpot虚拟机中的垃圾收集器。JDK7/8后,HotSpot虚拟...
2018-05-06 16:46:04 171
原创 JVM基础知识
一、目的通过对线上jvm常见故障的用例的分析,提高大家对系统故障的分析和处理能力,减少系统由故障造成的宕机时间,提高系统的可用性。二、JVM概况jvm为java虚拟机的简称,在这里一般指Oralce旗下的Hotspot,在处理故障前首先必须了解JVM相关基础知识。在此简单介绍如下。1.1.1 虚拟机的基本结构JVM内存基本结构如下 各部分功能详细在此不重复描述,请自行百度或查阅相关书籍。 ...
2018-05-06 16:07:12 127
原创 Guava Cache本地缓存
Guava介绍Guava是一种基于开源的Java库,其中包含谷歌正在由他们很多项目使用的很多核心库。这个库是为了方便编码,并减少编码错误。这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方法。Guava Cache适用场景1 消耗一些内存空间来提升速度;2 缓存中存放的数据总量不会超出内存容量。(Guava Cache是单个应用运行时的本地缓存,不把数据存放到文...
2018-05-06 12:21:37 537
原创 服务部署
蓝绿部署1 需要两个相同的环境(基础架构),蓝色环境 + 绿色环境。2 当你想要升级某模块/应用 ,在蓝色环境中进行操作,部署新版本,并进行测试。3 监测新版本应用,是否有故障和异常。 3.1 运行良好,删除绿色环境使用的资源。 3.2 运行出现了问题,通过负载均衡器/反向代理/路由指向快速回滚到绿色环境。 注意细节:切换环境时,需要妥当处理未完成的业务和新的业务。需要...
2018-05-06 12:15:36 196
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人