Tomcat 将会如何运行在某种程度上要依赖于你是如何配置运行Tomcat的那个JVM的。例如,如果你没有把JVM 配置成能够使用指定数量的堆内存,它就会使用默认量的内存,而这默认的内存可能对于你将要运行的 web 应用来说是不够的。如果 Tomcat 在启动时没有足够的内存运行你的webapp,对于所有的 web 客户端,它就会发送错误页面给它们。如果Tomcat有足够的内存启动你的webapp,但还不够处理connecter允许进入Tomcat 的并发请求数,则一些或所有的请求将收到一个错误响应或 a dropped connection。
有太多的你可能要设置的JVM启动开关设置。下面是选取的一些最有用的 JVM 启动开关设置。
关于 heap 的设置无疑是最重要的配置,所以你要理解并正确设置。内存设置过度受限,则 Tomcat 将会要么运行得很慢或抛出 OutOfMemoryError 而失败并表现得不稳定。而如果内存设置过大,JVM要么是不会启动,因为它不能分配如此大的内存,要么是启动了也运行Okay的,但是会用掉比它需要的内存更多的内存,计算机上的其他软件就不能运行了。
如果给Tomcat JVM 配了一个小的启动堆内存和一个大的最大堆内存,在Java VM将堆内存提升到最大堆内存这段期间,页面响应时间就受到了影响,因为在Tomcat尝试响应请求时又要花时间去reallocate内存块。 如果你不想性能受到这个问题的影响,就要确保你的 -Xms 和 -Xmx 的值是一样的值,这样在操作过程中,JVM就无需重新调整堆内存的大小。
可以设置 JAVA_OPTS 环境变量来设置上面提到的JVM启动开关,然后再调用 $CATALINA_HOME/bin下的脚本。
如果你想让 Tomcat JVM 以 debug 模式启动,这样你就可以附加一个远程debugger,那就要这么设置:
JAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
That should allow you to connect a JPDA remote debugger client to port 8000 on your Tomcat host and debug any code that runs in the Tomcat JVM。
如果你的操作系统不包含图形化显示软件(例如,如果你有 Linux、Solaris,或FreeBSD,但没有安装 X window system binaries),你就应当设置 -Djava.awt.headless=true,这样,any software you include in your webapps that might try to initialize any graphical code in the Tomcat JVM will not cause an exception。
相关推荐
### JVM配置参数详解 在Java虚拟机(JVM)的运行过程中,通过一系列的命令行参数,我们可以调整其性能和行为。以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,...
总的来说,JMX-JVM配置是一项强大的功能,它使得开发者和管理员能够实时监控和调整Java应用的运行状态,从而优化性能、诊断问题和实施细粒度的管理策略。正确配置和使用JMX对于提升Java应用的稳定性和效率至关重要。
这份"JVM配置资料"包含的可能是一系列关于优化JVM性能、理解和调试JVM行为的重要信息。下面将详细讨论JVM配置中的关键知识点。 1. **JVM内存模型**: - **堆内存(Heap Memory)**:分为新生代(Young Generation...
### 常用JVM配置参数详解 #### 一、概述 Java虚拟机(JVM)是运行Java程序的核心环境,其性能的优劣直接影响到Java应用程序的执行效率。为了更好地控制JVM的行为并进行调优,熟悉JVM的配置参数至关重要。本文将深入...
总结起来,深入理解JVM内核,熟练掌握诊断技巧,并合理调整JVM配置参数,是每一个Java开发者必备的技能。通过本教程的学习,你将能够运用这些知识有效地提升应用性能,解决实际工作中的各种挑战。
### JVM配置与优化详解 #### 一、JVM垃圾回收机制及配置优化 **1.1 垃圾回收机制概述** JVM(Java虚拟机)的垃圾回收机制(Garbage Collection, GC)是自动内存管理的核心部分。它负责识别并回收不再使用的对象所...
本文将深入探讨“java缓存代码,tomcat JVM配置”这一主题,包括Java缓存的实现方法以及如何对Tomcat服务器进行JVM配置和连接池设定,以提升系统效率。 首先,我们来看Java缓存代码。在Java中,缓存是一种常见的...
Java 8目前仍然是许多企业中主要使用的版本之一...关于JVM相关的优化和配置我们之前提到过很多基本的知识内容,简单进行回顾一下,今天我们就JVM常见优化参数为基本内容再次重新来说(主要从ES的JVM配置来强化理解)。
`openfire.vmoptions`和`openfire-service.vmoptions`是两个与Openfire JVM配置相关的文件。 `openfire.vmoptions`文件主要用于设置Openfire主进程的JVM参数。这个文件允许你定制Java虚拟机的行为,包括但不限于...
### JVM与JAVA环境配置详解 在进行JAVA应用开发时,正确配置JVM(Java虚拟机)及JAVA开发环境是至关重要的第一步。本文将基于提供的文件信息,深入解析JVM及JAVA开发环境配置的关键步骤和注意事项。 #### 1. JAVA_...
### JVM参数配置详解 #### 一、理解JVM参数配置的重要性 Java Virtual Machine (JVM) 是运行Java程序的核心环境,其性能优化很大程度上依赖于正确的JVM参数配置。合理配置JVM参数不仅可以显著提升应用程序的运行...
#### 三、Tomcat中的JVM配置优化 对于使用Tomcat的应用,可以通过修改其配置文件来进行JVM的优化。以`catalina.sh`(Linux系统)或`catalina.bat`(Windows系统)为例,可以在文件中添加如下配置: ```sh JAVA_...
常用jvm参数都在这张图中,参考起来方便,是国外大神整理的
#### 二、JVM配置 在Web控制台中,可以通过以下步骤修改JVM的堆栈大小: 1. **进入控制台**: - 登录WebSphere控制台后,依次点击“服务器”>“应用服务器”>“server1”。 2. **配置JVM**: - 进入“Java和进程...
这份“JAVA命令大全-JVM设置.rar”压缩包文件包含了关于Java命令行选项以及JVM配置的相关知识。 首先,`JAVA命令大全.doc`可能包含以下内容: 1. **Java启动命令**:`java`和`javac`是最基础的命令,分别用于执行...
Java虚拟机(JVM)是Java程序运行的核心组件,它负责解释和执行字节码,为开发者...理论学习后,实践操作是巩固知识的关键,尝试在实际项目中应用这些知识,解决性能问题,优化JVM配置,将使你对JVM的理解更加深入。
1. **JVM配置问题**:可能是IDE的配置文件中JVM路径设置不正确,或者JVM参数设置不合理,导致启动时找不到合适的JVM环境。 2. **系统资源不足**:如果计算机内存不足或者CPU资源紧张,可能会导致JVM无法启动。 3. **...
5. **JVM配置调整**:JProfiler11还可以提供JVM参数建议,帮助开发者正确设置JVM初始堆大小、最大堆大小、内存池等关键参数,确保应用程序稳定运行。 在实际使用中,JProfiler11的详细报告和可视化界面使得问题定位...
3. **JVM配置参数** (3.常用JVM配置参数.pptx) JVM的配置参数对于调整性能至关重要,如-Xms、-Xmx用于设置堆内存大小,-XX:PermSize、-XX:MaxPermSize设定方法区大小,-XX:+UseConcMarkSweepGC选择垃圾收集器等。...