jvm性能调优
文章平均质量分 79
驰驰的老爸
IT民工一枚,长期耕耘于JAVA, JS,LINUX一线,现在努力提高机器学习方面的技能。
展开
-
JProfiler监控eclipse学习笔记
jprofiler文档JProfiler是一个全功能的java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。 简介:它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。 作用:JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问原创 2013-02-25 10:19:51 · 5085 阅读 · 0 评论 -
java jvm GC 参数设置
programatically转载 2014-07-31 12:40:59 · 1469 阅读 · 0 评论 -
基于AOP的日志调试
断点 vs 日志断点是我们日常开发最为常见和高效的调试手段, 相比较输入日志它给予更多的状态信息和灵活的观察角度, 但断点调试是有前提和局限的.需要一个界面友好, 功能强大的IDE,比较适合于在单机的开发环境中进行.企业应用开发中, 我们常常会遇到无法断点调试的窘境, 例如:这个异常仅在生产环境出现, 开发环境里无法重现;存在外部系统依赖, 开发环境无法模拟等.这迫使我转载 2014-02-20 15:30:14 · 1408 阅读 · 0 评论 -
动态实时跟踪你的java程序
之前有写 基于AOP的日志调试 讨论一种跟踪Java程序的方法, 但不是很完美.后来发现了 Btrace , 由于它借助动态字节码注入技术 , 实现优雅且功能强大.只不过, 用起来总是磕磕绊绊的, 时常为了跟踪某个问题, 却花了大把的时间调试Btrace的脚本. 为此, 我尝试将几种跟踪模式固化成脚本模板, 待用的时候去调整一下正则表达式之类的.跟踪过程往往是假设与验证的螺旋迭代过程, 反转载 2014-02-20 15:21:46 · 2597 阅读 · 0 评论 -
BTrace详细介绍
近排查线上OOM的异常时用到一个强大的动态跟踪分析工具BTrace,于是花了点时间研究了下用法,这里的内容基本是对官方说明进行的翻译,顺便加了点心得.BTrace介绍BTrace是一个Java的动态跟踪工具,BTrace的工作的基本原理是把跟踪的代码动态替换到被跟踪的Java程序内,其实现机制是Sun Attach API + BTrace脚本解析引擎 + Objectweb ASM +转载 2014-02-20 12:40:49 · 5592 阅读 · 0 评论 -
BTrace使用总结
http://learnworld.iteye.com/blog/1402763一、背景 在生产环境中可能经常遇到各种问题,定位问题需要获取程序运行时的数据信息,如方法参数、返回值、全局变量、堆栈信息等。为了获取这些数据信息,我们可以通过改写代码,增加日志信息的打印,再发布到生产环境。通过这种方式,一方面将增大定位问题的成本和周期,对于紧急问题无法做到及时响应;另一方面重新部转载 2014-02-19 22:19:03 · 1087 阅读 · 0 评论 -
jvm垃圾回收
http://www.alidata.org/archives/1773在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年轻代和年老代是存储动态产生的对象。永久带主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。我们这里讨论的垃圾回收转载 2014-02-20 16:25:34 · 836 阅读 · 0 评论 -
调试工具BTrace 的使用--例子
BTrace 是一款利用hotSpot虚拟机可以动态替换class的特点而完成的,可以对online的程序动态的改变类的行为(一般为加些打印日志),进而进行线上调试的一个工具。一篇淘宝技术团队的博客:http://rdc.taobao.com/team/jm/archives/509主要步骤如下(本次测试只针对BTrace和测试的程序在同一台机器上,remote的还待实验):1、下载地转载 2014-02-19 22:04:18 · 3967 阅读 · 0 评论 -
JVM的GC简介和实例
本文是一次内部分享中总结了jvm gc的分类和一些实例, 内容是introduction级别的,供初学人士参考.成文仓促,难免有些错误,如果有大牛发现,请留言,我一定及时更正,谢谢!JVM内存布局主要包含下面几个部分:Java Virtual Machine Stack: 也就是我们常见的局部变量栈,线程私有,保存线程执行的局部变量表、操作栈、动态连接等。Java Heap转载 2014-01-26 19:42:17 · 1002 阅读 · 0 评论 -
两个OOM Cases排查过程的分享
分享一下两个OOM Cases的查找过程,一个应用是Native OOM;另外一个应用其实没有OOM,只是每隔一段时间就会出现频繁FGC的现象,OOM的查找已经具备了不错的工具,但有些时候还是会出现很难查的现象,希望这两个排查过程的分享能给需要的同学带来一些帮助。Native OOM的排查Case之前的几个PPT里我都说到了,目前查找Native OOM最好的方法就是用google per转载 2014-02-19 22:36:31 · 916 阅读 · 0 评论 -
性能分析之-- JAVA Thread Dump 分析综述
最近在做性能测试,需要对线程堆栈进行分析,在网上收集了一些资料,学习完后,将相关知识整理在一起,输出文章如下。一、Thread Dump介绍1.1什么是Thread Dump?Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread转载 2013-10-24 16:35:26 · 2040 阅读 · 0 评论 -
BTrace使用简介
很多时候在online的应用出现问题时,很多时候我们需要知道更多的程序的运行细节,但又不可能在开发的时候就把程序中所有的运行细节都打印到日志上,通常这个时候能采取的就是修改代码,重新部署,然后再观察,但这种方法对于online应用来说不是很好,另外一方面如果碰到不好改的代码,例如引用的其他的外部的包什么的,就很麻烦了,BTrace就是一个可以在不改代码、不重启应用的情况下,动态的查看程序运行细节的转载 2014-02-19 22:35:14 · 976 阅读 · 0 评论 -
Java 6 JVM参数选项大全(中文版)
作者:Ken WuEmail: ken.wug@gmail.com转载本文档请注明原文链接 http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm! 本文是基于最新的SUN官方文档Java SE 6 Hotspot VM Options 编写的译文。主要介绍JVM中的非稳态选项及其使用说明。为了让读者明白每转载 2014-02-08 09:39:46 · 796 阅读 · 0 评论