typora-root-url: ./
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位的内存限制
- 大量使用本地缓存的应用,在逻辑集群中会造成较大的内存浪费