tomcat修改JVM内存配置
- 格式:rtf
- 大小:42.53 KB
- 文档页数:6
JVM内存设置方法JVM(Java虚拟机)是Java程序的运行环境,它负责执行Java字节码,并管理程序的内存。
在运行Java程序时,合理地设置JVM的内存大小是非常重要的,它会影响程序的性能和稳定性。
下面是一些关于JVM内存设置的方法和注意事项:1. 初始堆大小(-Xms)和最大堆大小(-Xmx):初始堆大小指定了JVM初始时分配的堆内存大小,最大堆大小则指定了堆内存的上限。
可以通过在启动命令中加上-Xms和-Xmx参数来设置堆内存大小,例如:```java -Xms256m -Xmx512m MyApp```这样就设置了初始堆大小为256MB,最大堆大小为512MB。
2.堆内存的大小选择:堆内存的大小应根据应用程序的需求和服务器硬件条件来选择。
如果堆内存过小,可能会导致OutOfMemoryError;如果堆内存过大,可能会导致频繁的垃圾回收,影响程序的性能。
可以通过监控JVM的堆使用情况来判断是否需要调整堆内存的大小。
可以使用JVM自带的JVisualVM工具或第三方的工具如G1GC日志分析工具进行监控。
3.堆内存的分代设置:堆内存分为新生代(Young Generation)、老年代(Old Generation)和永久代(Permanent Generation,JDK8及之前的版本)/元空间(Metaspace,JDK8及之后的版本)。
新生代用于存储新创建的对象,老年代用于存储长时间存活的对象,永久代/元空间用于存储类和方法等信息。
可以通过设置堆内存的分代比例来调整堆内存的大小,例如:```-XX:NewRatio=2```这样就将堆内存的新生代和老年代的大小比例设置为1:2、可以根据应用程序的特点和需求进行调整。
4.非堆内存的设置:非堆内存包括方法区、直接内存等。
可以通过设置参数来调整非堆内存的大小,例如:```-XX:MaxMetaspaceSize=256m```这样就设置了元空间的最大大小为256MB。
tomcat下jvm参数配置详解在解释下⾯知识之前,⼀个很重要的知识点必须了解,那就是tomcat本⾝是不能直接运⾏在计算机上的,必须依赖硬件基础上的计算机和⼀个java虚拟机,这也就解释了为什么在安装运⾏tomcat前必须要安装jvm的原因了。
所以说如果运⾏⼀个⽐较⼤的应⽤程序的话,⼀个性能⾼的jvm和合适的参数配置对程序的性能影响很⼤,因为Sun公司和其它⼀些公司⼀直在为提⾼性能⽽对java虚拟机做⼀些升级改进。
⼀些报告显⽰JDK1.4在性能上⽐JDK1.3提⾼了将近10%到20%。
随便google⼀下关于OutOfmemoryError:PermGen Space 这个错误的解决⽅法,可以搜到许多帖⼦,但都⼤同⼩异,⽆⾮就是修改tomcat的启动参数,其实说的更具体⼀些是在tomcat下修改jvm参数。
1、必须了解的java内存机制---内存区划分和垃圾回收机制栈内存(Stack):⼀个线程就会有⼀个线程的JVM栈与之对应,因为不过的线程执⾏逻辑显然不同,因此都需要⼀个独⽴的JVM栈来存放该线程的执⾏逻辑。
这个内存区是⽤来存储基本变量和引⽤变量堆内存(Heap):Java Heap分为3个区 1.Young 2.Old 3.Permanent,其中Young刚实例化的对象,如果满了的话,将移动到old中。
⽽permanent⽤于存放Class和Meta信息,Class在被Load的时候被放⼊该区域,垃圾回收⼀般不回收这个区的内存,所以对于⼤的应⽤程序,如果开始加载的类太多是会出现ng.OutOfmemoryError这样的错误。
⽅法区(Method Area):有点像以前常说的“进程代码段”,这⾥⾯存放了每个加载类的反射信息、类函数的代码、编译时常量等信息。
原⽣⽅法栈(Native Method Stack):主要⽤于JNI中的原⽣代码,平时很少涉及。
下⾯讲解垃圾回收机制垃圾回收机制和堆内存和栈内存有关,具体说些是和对内存中的young和Old区和栈内存有关。
tomcat常用的调优参数Tomcat常用的调优参数Tomcat是一个开源的Java Servlet容器,广泛应用于Java Web 应用程序的部署和运行。
为了提高Tomcat的性能和稳定性,我们可以通过调优参数来优化其配置。
本文将介绍一些常用的Tomcat 调优参数,帮助您更好地配置和优化T omcat服务器。
1. 内存设置- -Xms: 设置JVM的初始堆大小,建议设置为物理内存的1/4或1/3。
- -Xmx: 设置JVM的最大堆大小,建议设置为物理内存的1/2或2/3。
- -XX:MaxPermSize: 设置JVM的永久代大小,建议设置为256MB或512MB。
- -XX:MaxMetaspaceSize: 设置JVM的元空间大小,建议设置为256MB或512MB。
2. 线程设置- maxThreads: 设置Tomcat的最大线程数,建议根据服务器的硬件配置和并发请求数进行调整。
- acceptCount: 设置Tomcat接受请求的队列大小,建议设置为200或300。
- connectionTimeout: 设置Tomcat的连接超时时间,建议设置为30秒或60秒。
3. 连接器设置- protocol: 设置连接器的协议,常用的有HTTP/1.1和AJP/1.3。
- port: 设置连接器的监听端口,建议使用80端口作为HTTP连接器的默认端口。
- maxKeepAliveRequests: 设置每个Keep-Alive连接的最大请求数,建议设置为100或200。
- keepAliveTimeout: 设置Keep-Alive连接的超时时间,建议设置为5秒或10秒。
4. 缓存设置- cacheSize: 设置Tomcat的静态文件缓存大小,建议根据静态文件的数量和大小进行调整。
- cacheTTL: 设置静态文件缓存的过期时间,建议设置为1小时或更长。
- cacheObjectMaxSize: 设置缓存对象的最大大小,建议根据缓存对象的平均大小进行调整。
tomcat内存配置及配置参数详解1、jvm内存管理机制:1)堆(Heap)和⾮堆(Non-heap)内存按照官⽅的说法:“ 虚拟机具有⼀个堆,堆是运⾏时数据区域,所有类实例和数组的内存均从此处分配。
堆是在 Java 虚拟机启动时创建的。
”“在JVM中堆之外的内存称为⾮堆内存(Non-heap memory)”。
可以看出JVM主要管理两种类型的内存:堆和⾮堆。
简单来说堆就是Java代码可及的内存,是留给开发⼈员使⽤的;⾮堆就是JVM留给⾃⼰⽤的,所以⽅法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运⾏时常数池、字段和⽅法数据)以及⽅法和构造⽅法的代码都在⾮堆内存中。
堆内存分配JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM最⼤分配的堆内存由-Xmx指定,默认是物理内存的1/4。
默认空余堆内存⼩于40%时,JVM就会增⼤堆直到-Xmx的最⼤限制;空余堆内存⼤于70%时,JVM会减少堆直到-Xms的最⼩限制。
因此服务器⼀般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的⼤⼩。
说明:如果-Xmx 不指定或者指定偏⼩,应⽤可能会导致ng.OutOfMemory错误,此错误来⾃JVM,不是Throwable的,⽆法⽤try...catch捕捉。
⾮堆内存分配JVM使⽤-XX:PermSize设置⾮堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最⼤⾮堆内存的⼤⼩,默认是物理内存的1/4。
(还有⼀说:MaxPermSize缺省值和-server -client选项相关,-server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。
这个我没有实验。
)上⾯错误信息中的PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。
windows下注册tomcat服务以及设置jvm参数注册服务:1>cd /d D:\Java\tomcat-7.0.57-Css\bin //进⼊⽬录1>service.bat install //注册服务,同理删除服务为 remove删除服务:1sc delete "服务名" //这是通⽤的删除⽅法注:需使⽤对应的版本,linux版本没有service.bat ,tomcat.exe ,tomcat*w.exe参数调整Windows下调整Tomcat启动参数⼀、命令窗⼝输⼊ D:\Java\tomcat-7.0.57-Css\bin\tomcat7w.exe //ES//Apache_Tomcat_Css Service 通过上述命令可打开tomcat的管理页⾯,点击JAVA进⼊Java options 输⼊框 ⾥⾯原内容: -Dcatalina.home=D:\Java\tomcat-7.0.57-Css -Dcatalina.base=D:\Java\tomcat-7.0.57-Css -Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed -Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties 在最后⾯加⼊: -XX:PermSize=64M -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=48m 点击应⽤,点击确认; 再修改 D:\Java\tomcat-7.0.57-Css\bin 下的 service.bat ⽂件 找到下⾯这句: set "SELF=%~dp0%service.bat" rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" 在这句后⾯加上下局: set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true 保存后在服务上启动即可;⼆、不注册服务,启动修改 修改 D:\Java\tomcat-7.0.57-Css\bin 下的 catalina.bat ⽂件 找到下⾯这句: rem Guess CATALINA_HOME if not defined set "CURRENT_DIR=%cd%" 在这句后⾯加上下局: set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true 保存后启动即可;三、注册服务修改注册列表 运⾏ regedit 找到注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation 再往下找 Procrun 2.0\Tomcat7\Parameters\ 有个 Options 设置 -Dcatalina.home=D:\Java\tomcat-7.0.57-Css -Dcatalina.base=D:\Java\tomcat-7.0.57-Css -Djava.endorsed.dirs=D:\Java\tomcat-7.0.57-Css\endorsed -Djava.io.tmpdir=D:\Java\tomcat-7.0.57-Css\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=D:\Java\tomcat-7.0.57-Css\conf\logging.properties 双击它进⾏编辑,在末尾增加下⾯⾏就搞定了: -XX:PermSize=64M -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=48mlinux下调整Tomcat启动参数在对应linux下的tomcat版本中,修改 catalina.sh # vi /usr/tomcat/bin/catalina.sh 注: /usr/tomcat/bin/catalina.sh 是 tomcat所在⽬录的bin⽬录(linux环境下) 找到 # OS specific support. $var _must_ be set to either true or false. 在上句之前加⼊ # JAVA_OPTS JAVA_OPTS="-Xms2g -Xmx2g -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:NewSize=512m -XX:MaxPermSize=256m" # CATALINA_OPTS CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9004" CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"遇见报错:报错⼀、ould not reserve enough space for object heap报错⼆、Out of memory报错三、the Network Adapter could not establish the connection前两个报错是属于内存设置问题,第三个是⽹络问题因为⾃⼰在⽹上搜索遇到很多设置也是类似但是却没有效果的,谨此记录,希望不要被‘坑’!。
应用服务器(Tomcat) JVM内存设置你对Tomcat JVM内存设置是否了解,本文向大家介绍一下Linux和Windows操作系统下Tomcat JVM内存设置方法,希望对你的学习有所帮助。
1.Linux下修改Tomcat JVM内存设置:要添加在Tomcat的bin下catalina.sh里,位置cygwin=false前。
注意引号要带上,红色的为新添加的。
# OS specific support. $var _must_ be set to either true or false.JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m-XX:MaxPermSize=256m"cygwin=false注意:Linux下面使用【chomd –x /目录/*.sh】将修改的sh文件赋予给当前用户,否则回报Cannot find ./catalina.sh2.Windows下修改Tomcat JVM内存设置:情况一:解压版本的Tomcat,要通过startup.bat启动Tomcat才能加载配置要添加在Tomcat的bin下catalina.bat里rem GuessCATALINA_HOMEifnotdefined set CURRENT_DIR=%cd%后面添加,红色的为新添加的。
rem Guess CA TALINA_HOME ifnotdefined set CURRENT_DIR=%cd%set JA V A_OPTS =-Xms256m-Xmx512m -XX:PermSize=128M-XX:MaxNewSize=256m -XX:MaxPermSize=256m-Djava.awt.headless=true情况二:安装版的Tomcat下没有catalina.batwindows服务执行的是bin\Tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置。
Tomcat并发优化、内存配置、垃圾回收、宕机预防Tomcat并发优化、内存配置、垃圾回收、宕机预防⽬录Tomcat并发优化、内存配置、垃圾回收、宕机预防⽬录序⾔⼀、Tomcat并发优化(1) tomcat并发参数(2) tomcat并发配置⼆、Tomcat内存配置(1) tomcat内存参数(2) tomcat内存配置三、Tomcat垃圾回收(1) JVM中对象的划分及管理(2) jvm垃圾搜集参数(3) tomcat垃圾搜集配置四、Tomcat宕机预防(1) TCP端⼝状态(2) Windows系统下的TCP参数(3) tomcat假死分析及预防五、结语序⾔这⼏天系统问题层出不穷,服务器并发性差、tomcat内存溢出、假死宕机、⽹络阻塞,搞得我好不难受,寝⾷难安。
但是经过⾼⼈指点、⽹络资料,再加上实践运⾏测试,系统逐渐稳定下来,性能也提升了不少,轻松之余,为⼤家分享我的经历,希望⼤家能够有所收获。
⼀、Tomcat并发优化tomcat并发量与其配置息息相关,⼀般的机器⼏百的并发量⾜矣,如果设置太⾼可能引发各种问题,内存、⽹络等问题也能在⾼并发下暴露出来,因此,配置参数的设置⾮常重要。
(1) tomcat并发参数maxThreads:最⼤的并发请求数,当cpu利⽤率⾼的时候,不宜增加线程的个数,当cpu利⽤率不⾼,⼤部分是io阻塞类的操作时,可以适当增加该值。
maxSpareThreads:Tomcat连接器的最⼤空闲 socket 线程数acceptCount:当处理任务的线程数达到最⼤时,接受排队的请求个数connectionTimeout:⽹络连接超时,单位毫秒enableLookups:若为false则不进⾏DNS查询,提⾼业务能⼒应设置为falsedisableUploadTimeout:若为true则禁⽤上传超时 以上是⼀些⽐较常⽤的参数,Tomcat中server.xml配置详解会有更加详细的介绍。
Tomcat6 一些调优设置内存和连接数公司的一个服务器使用Tomcat6默认配置,在后台一阵全点击服务器就报废了,查了一下就要是PERMSIZE默认值过小造成(16-64)TOMCAT_HOME/bin/catalina.sh添加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m"问题解决(可能为调用JAR包过多原因)下面是网上看到一些设置JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M-XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "当在对其进行并发测试时,基本上30个USER上去就当机了,还要修改默认连接数设置:以下红色四行TOMCAT6中好相没有,手工加上就可以了,基本上可以解决连接数过大引起的死机。
具体数值可跟据实际情况设置<Connector port="80" protocol="HTTP/1.1"maxThreads="600"minSpareThreads="100"maxSpareThreads="500"acceptCount="700"connectionTimeout="20000"redirectPort="8443" />这样设置以后,基本上没有再当机过。
maxThreads="600" ///最大线程数minSpareThreads="100"///初始化时创建的线程数maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
设置JVM参数,查看堆⼤⼩1.在eclipse设置JVM参数打开eclipse-窗⼝-⾸选项-Java-已安装的JRE(对在当前开发环境中运⾏的java程序皆⽣效,也就是在eclipse中运⾏的java程序)编辑当前使⽤的JRE,在缺省VM参数中输⼊:-Xmx1024m -Xms1024m -Xmn256m -Xss16m或者在运⾏⼀个java程序的时候执⾏:java -Xmx1024m -Xms1024m -Xmn256m -Xss16m TestTest是⼀个class⽂件。
2. 在Tomcat服务器上设置JVM参数set CATALINA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m或者set JAVA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m设置CATALINA_OPTS 和 JAVA_OPTS都是⼀个道理,在启动tomcat的时候设置参数。
两者区别是JAVA_OPTS在tomcat停⽌的时候也会执⾏这个命令。
注意:Tomcat分为安装版(*.exe)和⾮安装版或者解压版(*.zip),个⼈还是⽐较喜欢解压版。
两者虽然在功能上没有什么区别,但是在设置上还是有要注意的地⽅。
这⾥只谈JVM设置要注意的地⽅。
安装版:windows的服务会有⼀个tomcat服务,当启动服务的时候Tomcat会从注册表读取JVM的参数。
也就是说当在tomcat的lib⽂件夹下catalina.bat或者startup.bat中设置JVM参数是⽆效的。
解决办法:设置tomcat的注册表;或者使⽤startup.bat启动tomcat。
解压版:当点击startup.bat时,它会读取catalina.bat中的配置,不管在startup.bat⽂件还是在catalina.bat⽂件中设置JVM参数,都会读取JVM参数。
3. 查看堆的⼤⼩在程序中查看,返回值单位是字节,当然还有其他JVM参数可以查看。
1、修改启动时内存参数、并指定JVM时区(在windows server 2008 下时间少了8个小时):在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:window下,在catalina.bat最前面:查看源代码打印帮助 1 set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m一定加在catalina.bat最前面。
linux下,在catalina.sh最前面增加:查看源代码打印帮助1 JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"注意:前后二者区别,有无set,有无双引号。
2、线程池配置(Tomcat6下)使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。
使用方式:首先。
打开/conf/server.xml,增加查看源代码打印帮助 1 <executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60 秒。
然后,修改节点,增加executor属性,如:查看源代码打印帮助1 <connector executor="tomcatThreadPool"2 port="80" protocol="HTTP/1.1"3 connectionTimeout="60000"4 keepAliveTimeout="15000"5 maxKeepAliveRequests="1"6 redirectPort="443"7 ....../>注意:可以多个connector公用1个线程池。
3、调整连接相关Connector的参数:查看源代码打印帮助01 <connector executor="tomcatThreadPool"02 port="80" protocol="HTTP/1.1"03 connectionTimeout="60000"04 keepAliveTimeout="15000"05 maxKeepAliveRequests="1"06 redirectPort="443"07 maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="100" disableUploadTimeout="true"/>0809 参数说明:10 * connectionTimeout - 网络连接超时,单位:毫秒。
设置为0表示永不超时,这样设置有隐患的。
通常可设置为30000毫秒。
11 * keepAliveTimeout - 长连接最大保持时间(毫秒)。
此处为15秒。
12 * maxKeepAliveRequests - 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。
一般设置在100~200之间)the maximum number of HTTP requests that can be held in the pipeline until the connection is closed by the server. Setting this attribute to 1 disables HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 allows an unlimited number of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100.13 * maxHttpHeaderSize - http请求头信息的最大程度,超过此长度的部分不予处理。
一般8K。
14 * URIEncoding - 指定Tomcat容器的URL编码格式。
15 * acceptCount - 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认为10个。
defines the maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full are refused. The default value is 10.16 * disableUploadTimeout - 上传时是否使用超时机制17 * enableLookups - 是否反查域名,取值为:true或false。
为了提高处理能力,应设置为false18 * bufferSize - defines the size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes are provided.19 * maxSpareThreads - 做多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程the maximum number of unused request processing threads that are allowed to exist until the thread pool starts stopping the unnecessary threads. The default value is 50.20 * maxThreads - 最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。
这个值表示Tomcat可创建的最大的线程数。
the maximum number of request processing threads to be created by this Connector, which therefore determinesthe maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.21 * minSpareThreads - 最小空闲线程数,Tomcat初始化时创建的线程数the number of request processing threads that are created when this Connector is first started. The connector will also make sure it has the specified number of idle processing threads available. This attribute should be set to a value smaller than that set for maxThreads. The default value is 4.22 * minProcessors - 最小空闲连接线程数,用于提高系统处理性能,默认值为10。
(用于Tomcat4中)23 * maxProcessors - 最大连接线程数,即:并发处理的最大请求数,默认值为75。
(用于Tomcat4中)备注:Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。
在Tomcat5+主要对以下参数调整maxThreadsTomcat使用线程来处理接收的每个请求。
这个值表示Tomcat可创建的最大的线程数。
acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout网络连接超时,单位:毫秒。
设置为0表示永不超时,这样设置有隐患的。
通常可设置为30000毫秒。
minSpareThreadsTomcat初始化时创建的线程数。
maxSpareThreads一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
4、负载均衡、集群的配置Tomcat6支持分布式部署,可以实现集群功能,提高响应能力。
5、利用JMX监控Tomcat运行情况,需要手工调整启动参数,如下:打开cataline.bat,增加一行查看源代码打印帮助 1 set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=10090-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"linux下修改cataline.sh:查看源代码打印帮助 1 JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10090-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager-Djava.util.logging.config.file=%CATALINA_BASE\conf\logging.properties"注意JDK\jre\lib\management \management.properties文件必须存在。