我们的应用中用的环境是apache2.0.26+jboss4.0.5+jdk1.6,jvm的环境变量设置如下:
-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX
:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection
-XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSI
nitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70
-Xms2g JVM初始分配的内存由-Xms指定,默认是物理内存的1/64但小于1G。
-Xmx2g JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4但小于1G。
-XX:PermSize=128m 装载Class信息等基础数据,默认64M
-Xss256k 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K
-XX:DisableExplicitGC禁止调用代码System.gc()
-XX:+UseConcMarkSweepGC 指定在 Old Generation 使用 concurrent cmark sweep
gc,gc thread 和 app thread 并行 ( 在 init-mark 和 remark 时 pause app thread).
app pause 时间较短 , 适合交互性强的系统 , 如 web server
-XX:+CMSParallelRemarkEnabled 在使用 UseParNewGC 的情况下 , 尽量减少 mark 的时间
XX:+UseCMSCompactAtFullCollection 在使用 concurrent gc 的情况下 , 防止 memory fragmention, 对 live object 进行整理 , 使 memory 碎片减少
-XX:LargePageSizeInBytes=128m 指定 Java heap 的分页页面大小 , 如 :-XX:LargePageSizeInBytes=128m
-XX:+UseFastAccessorMethods get,set 方法转成本地代码
-XX:+UseCMSInitiatingOccupancyOnly 指示只有在 old generation 在使用了初始化的比例后 concurrent collector 启动收集
XX:CMSInitiatingOccupancyFraction=70 指示在 old generation 在使用了 n% 的比例后 ,
启动 concurrent collector, 默认值是 68, 如
:-XX:CMSInitiatingOccupancyFraction=70
http://wenku.baidu.com/view/7b4d1f3231126edb6f1a1040.html
http://wenku.baidu.com/view/4661968fcc22bcd126ff0c8e.html
http://dannybai.iteye.com/blog/542744
分享到:
相关推荐
本文将详细介绍一些常用的JVM参数设置,这些参数适用于线上关键业务系统,并且具有较高的通用性。 #### 二、学习资源推荐 1. **开源项目启动脚本**:参考成熟的开源项目如ElasticSearch和Cassandra的启动脚本可以...
**JVM调优**:通过调整JVM参数,如-Xms、-Xmx设置堆大小,-XX:NewRatio控制新生代与老年代的比例,-XX:SurvivorRatio调整Eden区和Survivor区的比例,以及-XX:+UseConcMarkSweepGC选择垃圾收集器,可以优化应用程序的...
在本篇《记一次公司JVM堆溢出抽丝剥茧定位的过程解析》中,作者详细阐述了一次处理公司线上JVM堆溢出问题的排查和解决过程。问题发生在线上Tomcat服务中,该服务合并部署了8个微服务,以节省服务器资源。在上线后...
- 调整JVM参数:根据实际情况调整JVM的内存分配策略,如增大新生代或老年代的大小,设置合适的GC算法等。 - 限制查询复杂度:对过于复杂的查询进行限制,避免一次性加载大量数据到内存中。 - 使用缓存策略:如果...
压缩包中的`setenv`文件通常用于设置Tomcat启动时的环境变量,包括JVM参数。这对于调整Tomcat内存配置以优化性能和防止内存泄漏至关重要。例如,可以设置`JAVA_OPTS`来指定JVM的初始堆大小(`-Xms`)和最大堆大小(`-...
- 在日常开发中,应当注重代码优化,避免不必要的内存消耗,同时合理设置 JVM 参数以防止内存溢出的发生。 综上所述,正确使用 MAT 分析工具不仅能够帮助我们解决问题,还能提高开发效率和代码质量。希望本文对面临...
当应用启动时,通过指定特定的JVM参数(如`-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005`),使得应用在指定端口上监听调试连接。 3. **脚本详解**: - `stop-provider-server.sh` 和 `...
4. **性能优化**:Tomcat可以通过调整线程池大小、开启或关闭NIO模式、内存分配、JVM参数调优等手段进行性能提升。了解这些优化策略,有助于在生产环境中提升服务器的响应速度和并发能力。 5. **安全设置**:Tomcat...
6. **性能优化**:调整Tomcat的线程池大小,内存分配,JVM参数,以及开启或关闭不必要的服务和模块,以提高服务器响应速度和并发处理能力。 7. **日志管理**:了解`logs`目录下的各种日志文件,如`catalina.out`,`...
《阿里Arthas工具详解与应用实践》 阿里Arthas是一款强大的Java诊断工具,它为开发者提供了在生产环境中无侵入地诊断和分析应用程序的能力。Arthas的出现极大地提升了开发人员对于线上问题的定位和解决效率。本文将...
本文将基于一位具有多年工作经验的面试者在京东的面试经历,解析其中涉及到的关键知识点,帮助求职者更好地准备面试。 首先,面试中对于JVM及垃圾回收(GC)的考察非常深入。面试官询问了线上环境使用的垃圾回收...
除了依赖,我们还需要在Maven的`build`部分配置`spring-boot-maven-plugin`插件,并设置`fork`参数为`true`。这会让Spring Boot应用运行在一个独立的JVM进程中,当代码发生变化时,这个进程会被自动重启: ```xml ...
### Solr教材知识点详解 #### 一、概述 **1.1 企业搜索引擎方案选型** 在企业级应用中,为了提升用户体验并更好地处理大量数据的检索需求,选择合适的搜索引擎解决方案至关重要。通常有几种常见的方案: 1. **...
### 京东金融性能测试指南知识点解析 #### 一、序言 - **编者寄语**:本章节简短地表达了编写此文档的目的和期望,为读者提供了阅读指南的背景和动机。 - **编者简介**:介绍了撰写文档的专业人士或团队的信息,...
- **3.2.4.4 JVM调优**:针对Java应用程序,通过调整JVM参数来优化性能。 - **3.2.4.5 网络调优**:优化网络配置,减少网络延迟和丢包。 - **3.2.4.6 系统调优**:调整操作系统配置,提高系统性能。 - **3.2.4.7...