jvm性能调优
文章平均质量分 94
andyguo
郭振华 360资深性能测试专家 ,有7年主流互联网公司的从业经验,对服务端性能测试、移动端性能测试都有较深研究,目前主要负责团队性能测试方案设计、测试平台研发和创新技术引进等工作。目前副业做婚恋相关的项目,有单身的或者感兴趣的可以一起搞起来
展开
-
JVM监控工具介绍
你对JVM监控工具的用法是否了解,这里向大家描述几种,VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力。所有这些都是免费的!JVM监控工具介绍VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分转载 2011-09-16 09:23:15 · 1544 阅读 · 0 评论 -
JVM垃圾回收机制总结:调优方法
JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler :商业软件,需要付费。功能强大。详细说明参考这里 VisualVM :JDK自带,功能强大,与JProfiler类似。推荐。转载 2012-12-21 11:10:07 · 4267 阅读 · 0 评论 -
java内存泄漏的定位与分析
1、为什么会发生内存泄漏java 如何检测内在泄漏呢?我们需要一些工具进行检测,并发现内存泄漏问题,不然很容易发生down机问题。编写java程序最为方便的地方就是我们不需要管理内存的分配和释放,一切由jvm来进行处理,当java对象不再被应用时,等到堆内存不够用时,jvm会进行垃圾回收,清除这些对象占用的堆内存空间,如果对象一直被应用,jvm无法对其进行回收,创建新的对象时,无法从Hea原创 2013-01-24 16:32:13 · 59391 阅读 · 12 评论 -
JVM调优总结:分代垃圾回收详述
虚拟机中的共划分为三个代:年轻代、年老点和持久代。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系不大。年轻代和年老代的划分是对垃圾收集影响比较大的。下文将进行分代垃圾回收详述。AD:2013大数据全球技术峰会低价抢票中为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的转载 2013-02-01 10:13:10 · 1109 阅读 · 0 评论 -
JVM 配置参数学习与研究
跟踪类加载器约束的相关信息 JVM服务调优实战 服务器:8 cup, 8G mem。 e.g. java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0。 调优方案。堆设置-Xmx3550m:设置JVM最大堆内存原创 2013-02-01 10:06:32 · 2292 阅读 · 0 评论 -
性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈!但转载 2013-03-29 17:10:12 · 2457 阅读 · 0 评论 -
btrace拓展工具-java应用性能诊断优化利器
Btrace是一个实时监控工具,可以无需修改应用代码(事实上它修改了字节码),来达到不可告人的秘密!这是性能调优和诊断的利器!它可以获取应用程序代码的执行时间,他可以让你无需修改代码,帮你做时间的打点。它还可以做的有很多多!但是,你需要编写btrace脚本,它是一个java文件。在Eclipse中编写java类很简单,在linux上,vm不熟悉的可能就会比较痛苦了,并且脚本可复制性原创 2013-08-03 11:41:41 · 3663 阅读 · 0 评论 -
Linux kill, killall, kill -9
1) 查看进程的方法: ps -ef 或者 ps auxroot 15087 0.0 0.0 0 0 ? S 23:31 0:00 [kworker/1:1]root 15219 0.0 0.0 0 0 ? S 23:36 0:00 [kworker/1:0]roo转载 2013-08-21 10:12:28 · 27138 阅读 · 1 评论 -
jvm调优
一、相关概念 基本回收算法 引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对转载 2014-03-25 10:22:31 · 2927 阅读 · 1 评论 -
Android 调试工具集【转】
1.TraceView1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”);// 先建/data/tmp目转载 2015-01-07 13:45:26 · 955 阅读 · 0 评论 -
在命令行中使用Eclipse MAT工具
最近应用在测试中出现Out Of Memory的问题, 通过jmap查看,发现JVM heap全用满了。有很多工具可以查看JVM堆的信息, 收费的比如JProfiler, YourKit,免费的如Oracle JDK自带的visualvm, jhat和Eclipse MAT。这个应用安装在一台AWS上,没有图形界面, 内存也比较小,想通过VNC远程桌面启动visualvm或者MAT转载 2015-10-09 16:24:19 · 3974 阅读 · 0 评论 -
Java内存泄露监控工具:JVM监控工具介绍
jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到 当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hu转载 2012-12-20 14:34:35 · 1981 阅读 · 0 评论 -
Java的内存泄漏
Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。问题的提出 Java的一个重要优点就是通过垃转载 2012-12-28 18:00:54 · 1204 阅读 · 0 评论 -
探秘Java虚拟机 gc的监控
1、Java虚拟机运行时的数据区2、常用的内存区域调节参数-Xms:初始堆大小,默认为物理内存的1/64(-Xmx:最大堆大小,默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制-Xmn:新生代的内存空间大小,注意:此处的大小是(eden+ 2 survivor space)。与jmap -he转载 2012-11-25 20:25:01 · 4977 阅读 · 0 评论 -
jboss性能调优
编辑server/slim/jbossweb-tomcat55.sar/server.xml;* 检查server.xml文档中使用的连接器,例如:http连接器: minSpareThreads="25" maxSpareThreads="75原创 2011-09-20 09:36:44 · 3881 阅读 · 0 评论 -
十个最好的Java性能故障排除工具
推荐十个最好的Java性能故障排除工具: 1.jconsole是随着JDK 1.5而推出的。这是一个Java监测和管理控制台-JMX兼容的图形工具来监测Java虚拟机。它能够同时监测本地和远程的JVMs。详情可查看:jconsole工具介绍 2.Vis转载 2011-09-26 11:41:14 · 1017 阅读 · 0 评论 -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到转载 2011-09-26 11:47:54 · 1332 阅读 · 0 评论 -
Windows客户端的JProfiler远程监控Linux上的Tomcat
1.测试环境 服务器:ubuntu8.04(内核版本 2.6.24-16),Tomcat6.0.16,Sun JDK 1.6,JProfiler 5.1.2for linux(安装包:jprofiler_linux_5.1.2.sh) 客户端:Windows XP,JProfiler5.1.2 for windows(安装包:jprofiler_window转载 2011-11-01 14:54:25 · 1309 阅读 · 0 评论 -
JVM垃圾回收与性能调优
最近一直在做socket性能测试,做为一名性能测试工程师来说,性能测试脚本的开发其实是性能测试整个阶段中最简单的,其中场景的设计和性能瓶颈的分析很重要,很是相当的复杂。那我就就对最近一直用的jvm性能调优方法介绍一下,这可是java程序都要涉及的: 1.JVM的gc概述,刚开始测试的时候,根本就不知道这个到底是什么意思,所以就没对这个指标进行统计,但是后来发现这是一个很重要的指标。原创 2011-12-02 16:40:26 · 1360 阅读 · 0 评论 -
jstat使用
jstat 1. jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。 其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid 可以显示原创 2012-04-09 11:36:02 · 1199 阅读 · 0 评论 -
java visualvm与jprofile配置
java visualvm设置JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxDirectMemorySize=1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit -Dcom.sun.management.jmxremote -Dcom.sun.m原创 2012-04-26 13:09:46 · 1728 阅读 · 0 评论 -
jvm 调优 强引用,弱引用,虚引用
1.对象的强、软、弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使 用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图 1为对象应用类层次。图1⑴强引用(St转载 2012-08-13 15:26:49 · 1937 阅读 · 0 评论 -
gc日志分析工具
性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析。Gc日志参数通过在tomcat启动脚本中添加相关参数生成gc日志-verbose.gc开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。打开-xx:+ printGCde转载 2012-11-25 20:27:25 · 29772 阅读 · 3 评论 -
基于图像识别测试手机浏览器打开网页首屏时间的方法
本文涉及性能测试技术,特别是涉及一种基于图像识别的测试手机网页首屏时间的方法,它可以应用在手机浏览器页面加载响应时间的的自动化测试或性能检测中。同时可以应用到其他android的apk的响应时间的测试中去随着智能手机等移动终端的发展,越来越多的用户开始通过手机等设备浏览网页,以获取用户所需的信息。用户使用手机访问网站是基于手机浏览器所获取的网页实现的。通常情况下,用户访问网站的页面原创 2016-05-26 17:39:34 · 9871 阅读 · 0 评论