转自:http://blog.csdn.net/opensure/article/details/46715769 JVM常用调试参数: –verbose:gc在虚拟机发生内存回收时在输出设备显示信息 -Xloggc:filename把GC相关日志信息记录到文件以便分析 -XX:-HeapDumpO ...
分类:
其他好文 时间:
2018-01-09 13:34:49
阅读次数:
198
JVM的调优的主要过程有: 1、确定堆内存大小(-Xmx、-Xms) 2、合理分配新生代和老年代(-XX:NewRatio、-Xmn、-XX:SurvivorRatio) 3、确定永久区大小(-XX:Permsize、—XX:MaxPermSiize) 4、选择垃圾回收器 5、对垃圾回收器进行合理设 ...
分类:
编程语言 时间:
2018-01-02 17:54:03
阅读次数:
136
1. 背景 虽然大多数应用程序使用JVM的默认设置就能很好地工作,仍然有不少应用程序需要对JVM进行额外的配置才能达到其期望的性能要求。现在JVM为了满足各种应用的需要,为程序运行提供了大量的JVM配置选项。不幸的是,针对一个应用程序进行的JVM调优(配置)可能并不适用于另一个应用程序。 注意:为了 ...
分类:
其他好文 时间:
2017-12-22 18:34:17
阅读次数:
109
原文出处: pengjiaheng JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这 ...
分类:
其他好文 时间:
2017-12-03 12:58:39
阅读次数:
164
原文出处: pengjiaheng 垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限。但是他无法解决的一个问题,就是Full GC所带来的应用暂停。在一些对实时性要求很高的应用场景下,GC暂停所带来的请求堆积和请求失败是无法接受 ...
分类:
编程语言 时间:
2017-12-03 12:52:34
阅读次数:
204
原文出处: pengjiaheng 可以从不同的的角度去划分垃圾回收算法: 按照基本回收策略分 引用计数(Reference Counting): 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环 ...
分类:
编程语言 时间:
2017-12-02 11:28:33
阅读次数:
150
数据类型 (原文出自pengjiaheng) Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。 基本类型包括:by ...
分类:
其他好文 时间:
2017-12-02 11:23:08
阅读次数:
185
原文出处: pengjiaheng 如何区分垃圾 上面说到的“引用计数”法,通过统计控制生成对象和删除对象时的引用数来判断。垃圾回收程序收集计数为0的对象即可。但是这种方法无法解决循环引用。所以,后来实现的垃圾判断算法中,都是从程序运行的根节点出发,遍历整个对象引用,查找存活的对象。那么在这种方式的 ...
分类:
其他好文 时间:
2017-12-02 11:13:36
阅读次数:
152
以下内容转载自http://unixboy.iteye.com/blog/174173/ 堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内 ...
分类:
其他好文 时间:
2017-11-30 18:06:19
阅读次数:
202
jvm调优主要针对堆内存,堆内存分为:新生区、养老区和永久区 永久区存放的是系统jdk自身的interface和class的元数据,所以唯有新生区和养老区具有优化空间。 新生区:伊甸区和幸存者区。所有类都是在伊甸区被new出来,幸存者区又分为0区和1区。伊甸区的空间用完时, 会进行垃圾回收Minor ...
分类:
编程语言 时间:
2017-10-24 01:39:09
阅读次数:
288