jvm(3):JVM调优
JVM调优思路
目的:减少full GC次数、减少STW时间(一次GC的时间)
手段:
-
打印GC日志
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:./gc.log
-
分析日志得到关键性指标
-
分析GC原因,调优JVM参数
案例
高性能硬件上的程序部署策略
通过64位JDK来使用大内存
前提:有把握把应用程序的Full GC频率控制得足够低
可能面临的问题:
- 内存回收导致的长时间停顿
- 64位性能普遍低于32位,消耗的内存也大
使用若干个32位虚拟机建立逻辑集群来利用硬件资源
具体做法是在一台物理机器上启动多个应用服务器进程,每个服务器进程分配不同端口,然后在前端搭建一个负载均衡器,以反向代理的方式来分配访问请求。
可能面临的问题:
- 尽量避免节点竞争全局的资源
- 很难最高效率地利用某些资源池
- 各个节点仍然不可避免地受到32位的内存限制
- 大量使用本地缓存的应用,在逻辑集群中会造成较大的内存浪费
集群间同步导致的内存溢出
堆外内存导致的溢出错误
外部命令导致系统缓慢
服务器JVM进程崩溃
不恰当数据结构导致内存占用过大
由Windows虚拟内存导致的长时间停顿
本文来自博客园,作者:白芷呀,转载请注明原文链接:https://www.cnblogs.com/angelica-duhurica/p/11348988.html