首先知道JVM相关参数的意思:
写道
JVM的配置,最常用的两个配置就是:
-Xms512m –Xmx1024m
-Xms设置JVM的初始化内存大小,-Xmx为最大内存大小,当突破这个值,将会报内存溢出,导致的原因有很多,主要是虚拟机的回收问题以及程序设计上的内存泄露问题;由于在超过-Xms时会产生页面申请的开销,所以一般很多应用服务器会推荐-Xms和-Xmx是等值的;最大值一般不保持在主机内存的75%的内存左右(多个SERVER是加起来的内存),当JVM绝大部分时间处于回收状态,并且内存长时间处于非常长少的状态就会报:java.lang.OutOfMemoryError:Java heap space的错误。
上面提及到JVM很多的知识面,很显然你想去设置一下其它的参数,其实对于JVM设置的参数有上百个,这里就说一些较为常用配置即可。
JVM内存配置分两大类:
1、-X开头的参数信息:一般每个版本变化不大。
2、-XX开头的参数信息:版本升级变化较大,如果没有太大必要保持默认即可。
3、另外还有一个特殊的选项就是-server还是-client,他们在默认配置内存上有一些细微的区别,直接用JDK运行程序默认是-client,应用服务器生产模式一般只会用-server。
这些命令其实就是在运行java命令或者javaw等相关命令后可以配置的参数,如果不配置,他们有相应的默认值配置。
1、-X开头的常用配置信息:
-Xnoclassgc 禁用垃圾回收,一般不适用这个参数
-Xincgc 启用增量垃圾回收
-Xmn1024K Eden区初始化JAVA堆的尺寸,默认值640K
-Xms512m JAVA堆初始化尺寸,默认是32M
-Xmx512m JAVA堆最大尺寸,默认64M,一般不超过2G,在64位机上,使用64位的JVM,需要操作系统进行unlimited方可设置到2G以上。
2、-XX开头常用内存配置信息:
-XX:-DisableExplicitGC 将会忽略手动调用GC的代码,如:System.gc(),将-DisableExplicitGC, 改成+DisableExplicitGC即为启用,默认为启用,什么也不写,默认是加号,但是系统内部默认的并不是什么都启用。
-XX:+UseParallelGC 将会自动启用并行回收,多余多CPU主机有效,默认是不启用。
-XX:+UseParNewGC 启用并行收集(不是回收),也是多CPU有效。
-XX:NewSize=128m 新域的初始化尺寸。
-XX:MaxNewSize=128m 新创建的对象都是在Eden中,其属于新域,在-client中默认为640K,而-server中默认是2M,为减少频繁的对新域进行回收,可以适当调大这个值。
-XX:PerSize=64m 设置永久域的初始化大小,在WEBLOGIC中默认的尺寸应该是48M,一般够用,可以根据实际情况作相应条调整。
-XX:MaxPerSize=64m 设置永久域的最大尺寸。
另外还可以设置按照区域的比例进行设置操作,以及设置线程、缓存、页面大小等等操作。
3、-XX开头的几个监控信息:
-XX:+GITime 显示有多少时间花在编译代码代码上,这部分为运行时编译为对应机器码时间。
-XX:+PrintGC 打印垃圾回收的基本信息
-XX:+PrintGCTimeStamps 打印垃圾回收时间戳信息
-XX:+PrintGCDetails 打印垃圾回收的详细信息
-XX:+TraceClassLoading 跟踪类的加载
-XX:+TraceClassResolution 跟踪常量池
-XX:+TraceClassUnLoading 跟踪类卸载
等等。。。。。。
in order to enable jconsole to monitor Tomcat Application, just add the additional line in catalina.bat or catalina.sh
-Dcom.sun.management.jmxremote.port="9001"
-Dcom.sun.management.jmxremote.authenticate="false"
-Dcom.sun.management.jmxremote.ssl="false"
Using JConsole请看
http://download.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html
关于实战:推荐一篇
sdh5724 JVM 几个重要的参数
http://www.iteye.com/wiki/jvm/2870-JVM 提供的设置仅仅是在高压力, 多CPU, 高内存环境下设置
分享到:
相关推荐
JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
在IT行业中,优化是提升系统性能的关键步骤,尤其是在Java企业级应用中,JVM(Java虚拟机)、Tomcat(一个广泛使用的Java应用服务器)以及SQL(结构化查询语言)的调优至关重要。以下是对这些核心知识点的详细阐述:...
作者提到在之前的“第三天”学习中,他们已经对Apache服务器进行了优化,现在将转向Tomcat的调优,以达到让“小猫”飞奔的效果。 【标签】:"tomcat", "tomcat性能调优" 【正文】: Tomcat性能调优的关键在于理解...
使用Java的`jvisualvm`或`jconsole`工具,可以实时监控Tomcat进程的内存使用情况。 十一、解决Linux下静态化乱码问题 确保Linux系统中的字符集设置正确,例如设置`LANG`环境变量为`en_US.UTF-8`,并检查文件系统的...
在Java应用服务器领域,Tomcat因其轻量级、高效和开源的特点,被广泛应用于各种Web应用的部署。然而,为了确保应用的高性能和稳定性,对Tomcat的JVM进行优化是必不可少的环节。本文将深入探讨Tomcat JVM调优的关键...
以下是对Tomcat中Java垃圾收集调优的详细说明: 首先,我们需要了解JVM内存的划分。JVM根据对象的生命周期将其划分为三个主要区域: 1. **Young Generation(年轻代)**:这是对象初次被创建的地方,包括Eden区和...
在实际操作中,我们需要通过监控工具(如JConsole、VisualVM等)观察JVM的内存使用情况和垃圾收集性能,以便根据实际情况调整参数。此外,还可以考虑开启并发垃圾收集器,如CMS,它可以在应用程序运行的同时进行垃圾...
此外,还可以使用JConsole、VisualVM等工具,更直观地监控和分析JVM内存使用情况,这对于性能调优和问题排查极为有益。 #### 结语 合理设置和调优JVM内存参数,是提高Java应用性能的关键所在。通过对JVM内存管理...
2. 使用JVM的调优工具,如JConsole或VisualVM,监控和调整内存分配。 **启动和停止Tomcat**: 1. 在命令行中,使用`bin`目录下的相应脚本来启动或停止Tomcat。 通过以上步骤,你应该能成功配置并管理你的Tomcat...
9. **监控与调优工具**: 使用JConsole、VisualVM等工具实时监控Tomcat的性能,以便及时发现和解决问题。 通过以上这些配置和优化,我们可以使Tomcat更好地适应每秒处理1000次请求的高并发场景。然而,具体数值需要...
为了有效地进行JVM调优,开发人员和运维人员通常会使用各种工具。本文将详细介绍两款常用的JVM调优工具——JConsole和VisualVM。 首先,JConsole是Java 5及更高版本JDK自带的一款监控和管理控制台。它基于JMX(Java...
1. **JMX(Java Management Extensions)**:Tomcat内置了JMX支持,允许通过JConsole或其他管理工具监控Tomcat的运行状态,如内存使用、线程状态等。 2. **连接池**:Tomcat的连接池(`conf/server.xml`中的`...
9. **监控与性能调优**:可以通过`catalina.out`文件监控Tomcat的运行状态,使用`jconsole`或`VisualVM`等工具分析JVM性能,调整内存分配、线程池大小等参数以提高性能。 10. **故障排除**:当遇到问题时,通常会...
这个“tomcat安装包zip”是Apache Tomcat的一个特定版本,这里是7.0.76版,这在当时是一个稳定且广泛使用的版本。下面将详细介绍Tomcat的安装和配置过程,以及相关的知识点。 首先,下载Apache Tomcat 7.0.76的zip...
11. **监控和故障排查**:使用`jstack`, `jmap`, `jconsole`等JDK自带工具监控Tomcat的线程、内存和GC状态,排查性能问题。 12. **更新和升级**:当有新的Tomcat版本发布时,按照上述步骤更新到新版本,确保系统...
另外,可以使用`jconsole`或`VisualVM`这样的Java性能监控工具来观察Tomcat的内存、CPU使用情况以及线程状态。 在实际操作中,启动和关闭Tomcat还可以通过命令行参数自定义,比如指定服务器的工作目录、日志位置等...
10. **监控与管理**:使用Tomcat提供的JMX(Java Management Extensions)可以远程监控和管理Tomcat实例,例如通过JConsole或VisualVM工具。 总的来说,64位Tomcat 1.7(即7.0.40版本)是一个强大的Java Web服务器...
8. 系统资源监控:使用监控工具(如JConsole或VisualVM)实时查看和分析Tomcat的内存使用情况,及时发现问题。 综上所述,SSH整合和Tomcat内存优化是Java Web开发中提升应用性能的关键步骤。通过理解各个框架的职责...