服务的方式启动tomcat时,一般的Java参数配置方式将发生变化。原因是,启动tomcat时不再是catalina.bat或者startup.bat生效,这时若再把JAVA_OPTS配置到bat中将导致配置失效。
Windows 服务运行的tomcat路径比如是这样
D:\..\apache-tomcat-7.0.55\bin\tomcat7.exe //RS//Tomcat7
一、配置jvisualvm监控
打开注册表(regedit.exe),搜索 Options ;找到如下路径
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options
各自服务器的中tomcat配置在注册表的路径未必和我一致。
双击 Options 在原有数据值后面加上如下内容
-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
打开 jdk目录下的bin文件夹,打开jvisualvm.exe运行,在‘本地’ 上点右键 点击‘添加jmx链接。’
在弹出框中的链接框中,填写: localhost:8999 (上面配的端口号) 点 确定即可开始查看tomcat对cpu、内存、堆栈、permgen使用情况。
二、PermGen space配置
解决问题:启动tomcat 都报 java.lang.OutOfMemoryError: PermGen space
网上一般的解决办法都是去catalina.bat或者startup.bat加上如下一段代码,
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
如果是服务方式来启动tomcat这样配置是无效的,tomcat启动没加载如上配置信息。
java.lang.OutOfMemoryError: PermGen space 产生的原因请自行百度。
解决方法就是增大内存配置
操作方法,按上面步骤一在注册表中找到 Options 加上如下代码
-XX:PermSize=512M -XX:MaxPermSize=1024M
完毕,重启tomcat ,重启jvisualvm ;到 jvisualvm 中查看PermGen的大小,是不是已经改过来了呢!
三、 -Xms800m -Xmx800m 这两项目不能直接在 Options 中加,在注册表java文件夹下面的 JvmMs和JvmMx改值是这两值对应的项
注册表截图以供参考(附件
相关推荐
JAVA-OPTS参数设置 JAVA-OPTS 是一个变量,用于设置 JVM 相关运行参数。JVM 是 Java Virtual Machine 的缩写,表示 Java 虚拟机。JAVA-OPTS 变量的设置对 Java 应用程序的性能和稳定性具有重要影响。 在设置 JAVA-...
### Tomcat PermGen Space 错误详解与解决方案 #### 一、PermGen Space 概念解析 PermGen Space,即 Permanent Generation Space,是 JVM(Java Virtual Machine)内存的一部分,主要用于存储 Class 文件信息、...
当我们将Tomcat安装为Windows服务后,它能够在系统启动时自动运行,并且可以通过Windows的服务管理工具对其进行控制(如启动、停止等)。这种方式不仅便于管理,还能确保即使在无人值守的情况下,Tomcat服务也能正常...
在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。...
在开发或运行基于Java的应用程序时,有时会遇到一个常见的错误提示:“OutOfMemoryError: PermGen space”。该错误通常发生在应用程序使用大量类加载器或者频繁进行类的加载与卸载时。本文将详细介绍这一错误的原因...
在Java应用程序运行过程中,"java.lang.OutOfMemoryError: PermGen space"错误是常见的一个问题,尤其是在使用Tomcat这样的Java应用服务器时。这个错误表明应用程序在 PermGen 区域(Permanent Generation)耗尽了...
解决 JVM 中的 PermGen space 问题 ...在 Tomcat 环境中,PermGen space 问题和 Java heap space 问题都是常见的问题。解决这些问题可以使用上述方法。在实际应用中,需要根据实际情况选择合适的解决方法。
在 Eclipse 中通过 Tomcat 运行 J2EE 项目时,可能会出现 java.lang.OutOfMemoryError: PermGen space 异常,这是由于 JVM 默认分配的运行空间过小,导致 J2EE 项目加载的类过多,造成内存溢出。 PermGen space 是...
java.lang.OutOfMemoryError: PermGen space 解决方案
- 如果Tomcat注册为Windows服务启动,则需要修改注册表中的`HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\htfty\Parameters\Java`路径下的`JvmMs`和`JvmMx`项来设置最小和最大内存使用参数...
当PermGen space的可用空间被耗尽时,Java应用程序将抛出`java.lang.OutOfMemoryError: PermGen space`异常。这种错误通常发生在应用程序加载了大量类或动态生成了很多类的情况下,例如使用了大量的第三方库或者在...
根据给定的文件信息,我们将深入探讨如何处理在Tomcat中遇到的`OutOfMemoreError`,主要聚焦于两种类型:`Java heap space`和`PermGen space`错误。 ### Java heap space 当JVM的堆内存不足以存储运行时产生的对象...
然而,这个区域经常因为类加载器的内存泄漏或频繁的类加载而导致`java.lang.OutOfMemoryError: PermGen space`错误,特别是在开发环境和代码热部署时。 在Java 8中,Oracle决定移除PermGen,并引入元空间作为替代。...
针对 Tomcat 出现 `java.lang.OutOfMemoryError: PermGen space` 和 `java.lang.OutOfMemoryError: Java heap space` 的问题,通过调整 JVM 的内存配置以及优化应用本身,可以有效避免内存溢出的发生。同时,对于...
PermGen OOM问题虽然复杂,但通过深入了解Java虚拟机的运行时数据区、类型装载与卸载机制,结合合理的配置与优化策略,是可以有效预防和解决的。对于现代应用,尤其是那些依赖动态类加载和高并发的场景,掌握PermGen...
《Java中的PermGen空间及其内存溢出问题》 在Java编程中,我们常常会遇到一个让人头疼的问题,那就是“java.lang.OutOfMemoryError: PermGen space”错误。这个错误提示表明,应用程序在运行过程中,内存的永久代...
特别是在Web应用环境下,如部署Web应用、使用JSP预编译等场景下,若配置不当,很容易触发`java.lang.OutOfMemoryError: PermGen space`异常。 #### 几个关键因素导致PermGen Space溢出: 1. **第三方库**:使用...
可以在tomcat/bin/catalina.bat文件中修改set JAVA_OPTS的值,例如:set JAVA_OPTS=-Xms128m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256m。 三、Tomcat自动部署的实现 使用ssh可以实现Tomcat自动部署,无需...
《深入理解Java虚拟机中的内存溢出: PermGen与Heap空间》 在Java应用程序的运行过程中,内存管理是至关重要的,尤其是对于服务器端应用如Tomcat来说,内存配置的合理与否直接影响到应用的稳定性和性能。本文将针对...