GitHub:https://github.com/wangzhiwubigdata/God-Of-BigData
关注公众号,内推,面试,资源下载,关注更多大数据技术~
大数据成神之路~预计更新500+篇文章,已经更新50+篇~
JVM 性能调优
在高性能硬件上部署程序,目前主要有两种方式:
- 通过 64 位 JDK 来使用大内存;
- 使用若干个 32 位虚拟机建立逻辑集群来利用硬件资源。
使用64位JDK管理大内存
堆内存变大后,虽然垃圾收集的频率减少了,但每次垃圾回收的时间变长。 如果堆内存为14 G,那么每次 Full GC 将长达数十秒。如果 Full GC 频繁发生,那么对于一个网站来说是无法忍受的。
对于用户交互性强、对停顿时间敏感的系统,可以给 Java 虚拟机分配超大堆的前提是有把握把应用程序的 Full GC 频率控制得足够低,至少要低到不会影响用户使用。