jvm相关
文章平均质量分 89
哔哔小子
这个作者很懒,什么都没留下…
展开
-
JVM堆内存设置调优
堆内存设置原理JVM堆内存分为2块:PermanentSpace 和 Heap Space。Permanent 即持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 Heap = { Old + NEW = {Eden, from, to} },Old 即 年老代(Old Generation),New 即年轻代(Young Generation)。年老代和年轻代的划分对垃圾收集影响比较大。年轻代所有新生成...原创 2022-03-03 15:36:51 · 1448 阅读 · 0 评论 -
JVM调优配置
四、调优总结堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java-Xmx3550m -Xms3550m -Xmn2g-Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。-Xm...转载 2022-02-11 16:43:18 · 327 阅读 · 0 评论 -
JMM同步规范和Volatile重点概要
背景JMM称为java内存模型,用于规范线程之间的数据共享问题,出现此模型的原因和硬件的发展有关。早期的单核cpu下不会存在该问题,后来多核cpu和cpu多重缓存机制加快了数据的读写,但是也产生了不同步问题。JMM之后通过cpu的总线机制优化了这个情况,该总线是主内存和CPU缓存之间的一个过渡区,可以通知各个线程变量变化。加了Volatile的变量可以被总线监视。过程如图A所示:假如某个CPU有两个核心,每个核心执行一个线程,硬件角度上他们两个是不同的寄存器,但是却共享主..原创 2020-10-29 10:02:21 · 155 阅读 · 0 评论 -
jvm 内存溢出 Java heap space 调优解决过程
那么:问题来了, 一点自己写的代码的信息没有,怎么找?相信这是大多数兄弟遇到内存问题的第一反应错误信息是我朋友发给我的截图,我并没有他的代码,也不清楚项目的业务,更不知道为什么会OutOfMemory,懵逼中开始搞事情首先:理清思路1. 发现问题2. 分析问题3. 解决问题首先梳理一下思路: OutOfMemory,内存溢出, 是的,溢出了,什么问题导致的呢,是不是程序的内存给的不够引起的呢。 随即,我问了我的朋友程序启动指定内存没有?如果没有的话制定以下...转载 2020-10-10 09:15:00 · 7527 阅读 · 1 评论