[深入理解JAVA虚拟机-JDK1.7]-[调优案例分析]-1[高性能硬件部署]
来源:互联网 发布:数据中心网络拓扑 编辑:程序博客网 时间:2024/06/05 05:19
首先需要理解的是现存32bit虚拟机与64bit虚拟机在典型操作系统下(windows,unix)所能使用的最大的内存是多少:
32bit JDK在windows操作系统下最大支持2G内存,理论上堆内存设置为1.5G合适,在unix操作系统下最大能支持4G内存;64bit JDK理论上支持2的64次方内存。
检验JDK支持内存大小的方法:
java -XmxXXXg version,如果能显示版本信息表示支持。
场景描述:
日PV量在10w左右的B/S架构的在线文档网站,之前服务器配置较低,使用32bit JDK,堆内存设置为1.5G,网站用户表示响应缓慢。为了解决此问题,物理服务器升级配置8cpu,16G内存,使用64bit JDK,堆内存设置12G,网站不定期出现长时间失去响应的情况。
故障排查:
发现Full GC时间过长。
分析:
程序将文件从磁盘加载到内存中,内存中出现大量的大文件序列化对象,很快将空间耗尽。
解决方案:
部署方案改为32bit JDK集群,单个虚拟机堆内存设置为1.5G。
0 0
- [深入理解JAVA虚拟机-JDK1.7]-[调优案例分析]-1[高性能硬件部署]
- 《深入理解java虚拟机》读书笔记六 【调优案例分析】
- JVM调优案例分析与实战:高性能硬件上的程序部署策略
- [深入理解Java虚拟机]第五章 调优案例分析与实战
- 《深入理解JAVA虚拟机》笔记6——调优案例分析与实战
- 深入理解JAVA虚拟机读书笔记----调优案例分析与实战
- Java内存区域划分、内存分配原理(基于jdk1.7 源自 《深入理解java虚拟机》)
- 深入理解Java虚拟机学习笔记-3.JVM性能监控及故障分析工具
- 深入理解Java虚拟机(7)
- 深入理解Java虚拟机(1)-虚拟机是什么
- jvm实战调优方案——高性能硬件上的部署策略
- 高可用环境硬件选型案例分析
- 深入理解java虚拟机
- Java虚拟机 深入理解
- 深入理解Java虚拟机
- 深入理解java虚拟机
- 深入理解Java虚拟机
- 深入理解java虚拟机
- 自己动手丰衣足食之移动端日期选择插件
- WP设计原则
- Redis教程(六):Sorted-Sets数据类型
- linux数据库定期备份
- 我的第一个jsp程序
- [深入理解JAVA虚拟机-JDK1.7]-[调优案例分析]-1[高性能硬件部署]
- Git教程
- 数据类型
- c#实现每隔一段时间执行代码(多线程)
- android raw与assets区别
- 定时器和多线程的不同
- WP的后台代理
- 16-02-18 Java 方法应用 之 生成随机数
- 处理XSS漏洞的工具类代码