BigMemory

增加堆内存的大小

若如初见. 提交于 2020-05-03 21:51:59
增加堆内存的大小 - 提防眼镜蛇效应 原文: http://plumbr.eu/blog/increasing-heap-size-beware-of-the-cobra-effect "眼镜蛇效应"起源于当时英国统治印度殖民地的轶事。英国政府关心一些有毒的眼镜蛇.所以政府对每条死蛇提供奖励.最初这个方案很成功为了奖励大量的毒蛇被杀死.然而最终印度人为了收入开始养殖眼镜蛇. 当意识到奖励取消了,养殖眼镜蛇和野生眼镜蛇成倍增加了. 明显的这个问题解决方案使这个情况更糟了. 如何调整Java堆内存的大小就像殖民地印度和毒蛇的关系.多包涵,我会引导你通过这个比喻用一个故事从现实生活中作为参考。 你已经创建了一个强大的程序. 如此强大使程序变的真正的流利和有巨大的流量,新的服务开始添加到你的程序中.通过挖掘你决定的性能指标,你程序的可用堆内存将不久成为瓶颈. 因此你部署了是原来6倍堆内存的基础设施. 你测试你的程序验证它可以工作.你部署它到新的硬件上.但是立即开始抱怨下面的问题 - 你的程序变的比以前2GB堆内存时响应要慢. 你的一些用户面临着分等待你的程序的响应延迟几分钟. 发生了什么? 可以有很多原因.不过,让我们关注最有可能发生的地方 - 堆内存大小的改变.这里有几种不好的效果像扩展缓存的预热时间,碎片问题等.但是从症状上来看你最有可能面临的是full GC期间的延迟问题.