一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 ...
分类:
编程语言 时间:
2019-11-22 00:34:49
阅读次数:
72
与linux下top命令直接显示进程下线程资源占用不同,Windows下默认任务管理器只能显示出进程的资源占用,jconsle等工具也只能显示出java进程资源占用,无法显示出进程能具体线程的资源占用,为此需要用到一个工具processExplorer。 1、用任务管理器或jconsle工具占用资源 ...
分类:
编程语言 时间:
2019-11-21 09:48:35
阅读次数:
100
堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0 ...
分类:
其他好文 时间:
2019-11-17 21:05:02
阅读次数:
85
JVM参数调优总结 在JVM启动参数中,可以设置跟内存、垃圾回收相关的一些参数设置,默认情况不做任何设置JVM会工作的很好,但对一些配置很好的Server和具体的应用必须仔细调优才能获得最佳性能。通过设置我们希望达到一些目标: · GC的时间足够的小 · GC的次数足够的少 · 发生Full GC( ...
分类:
其他好文 时间:
2019-11-06 15:11:31
阅读次数:
87
1、JVM参数配置优化 如果使用的CMS GC算法,建议JVM Heap不要太大,在4GB以内就可以。JVM太大,导致Major GC或者Full GC产生的“stop the world”时间过长,导致broker和zk之间的session超时,比如重新选举controller节点和提升follo ...
分类:
其他好文 时间:
2019-10-31 10:37:50
阅读次数:
297
-XX:MaxTenuringThreshold=0:设置垃圾最大年龄.如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代. 对于年老代比较多的应用,可以提高效率.如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活 时间,增... ...
分类:
其他好文 时间:
2019-10-29 17:05:12
阅读次数:
78
windows下修改了jmeter.bat文件里的heap参数,但是实际打印的并没有变化 查看本地java jvm 参数已经变化了,所以jmeter.bat取得不知道是哪里的固定值 ...
分类:
其他好文 时间:
2019-10-25 17:57:33
阅读次数:
113
JVM提供了有用的参数来处理 OutOfMemoryError 。在本文中,我们要强调那些JVM参数。在对OutOfMemoryError进行故障排除时,它可能对您很方便。这些JVM参数是: 1. XX:+ HeapDumpOnOutOfMemoryError XX:HeapDumpPath 2. ...
分类:
其他好文 时间:
2019-10-20 17:56:08
阅读次数:
85
GC的收集器种类: 收集器存在连线的说明他们可以配合使用。 新生代垃圾收集器 1.串行GC(serial)垃圾回收器 单线程收集器,必须暂停所有的工作线程直到结束: 最古老,稳定效率高的垃圾回收器 对应的JVM参数是: -XX:+UseSerialGC 开启后会使用:Serial(Young区用) ...
分类:
其他好文 时间:
2019-10-06 13:31:58
阅读次数:
157
一、设计堆内存溢出异常:OutOfMemoryError: JVM参数:-XX:+HeapOnOutOfMemoryError :到处内存溢出的堆信息(hprof文件) 执行后报错: 查看文件:文件保存在项目文件夹中,但是要查看其中内容,你需要借助Eclipse Memory Analyzer工具。 ...
分类:
其他好文 时间:
2019-10-04 23:15:20
阅读次数:
125