tomcat8如何修改jvm内存配置
tomcat并不建议直接在catalina.sh里配置变量,而是写在与catalina同级目录(bin目录)下的setenv.sh里。
所以如果我们想要修改jvm的内存配置
那么我们就需要修改setenv.sh文件(默认没有,需新建一个setenv.sh),写入(大小根据自己情况修改):
export catalina_opts="$catalina_opts -xms1000m" export catalina_opts="$catalina_opts -xmx1000m" export catalina_opts="$catalina_opts -xx:maxpermsize=256m"
设置之后在tomcat启动
你会发现:
cation directory [/usr/local/apache-tomcat-8.5.33/webapps/manager] has finished in [11] ms
06-sep-2018 14:18:17.690 信息 [main] org.apache.coyote.abstractprotocol.start starting protocolhandler ["http-nio-8088"]
06-sep-2018 14:18:17.702 信息 [main] org.apache.coyote.abstractprotocol.start starting protocolhandler ["ajp-nio-8009"]
06-sep-2018 14:18:17.707 信息 [main] org.apache.catalina.startup.catalina.start server startup in 10577 ms
[info] working directory is /usr/local/apache-tomcat-8.5.33
[info] war root is /usr/local/apache-tomcat-8.5.33/webapps/cat
java hotspot(tm) 64-bit server vm warning: ignoring option maxpermsize=256m; support was removed in 8.0
06-sep-2018 14:55:15.068 信息 [main] org.apache.catalina.startup.versionloggerlistener.log server version: apache tomcat/8.5.33
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log server built: aug 12 2018 08:20:08 utc
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log server number: 8.5.33.0
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log os name: linux
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log os version: 3.10.0-229.el7.x86_64
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log architecture: amd64
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log java home: /usr/local/jdk1.8.0_171/jre
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log jvm version: 1.8.0_171-b11
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log jvm vendor: oracle corporation
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log catalina_base: /usr/local/apache-tomcat-8.5.33
06-sep-2018 14:55:15.073 信息 [main] org.apache.catalina.startup.versionloggerlistener.log catalina_home: /usr/local/apache-tomcat-8.5.33
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -djava.util.logging.config.file=/usr/local/apache-tomcat-8.5.33/conf/logging.properties
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -djava.util.logging.manager=org.apache.juli.classloaderlogmanager
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -djdk.tls.ephemeraldhkeysize=2048
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -djava.protocol.handler.pkgs=org.apache.catalina.webresources
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -dorg.apache.catalina.security.securitylistener.umask=0027
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -xms1000m
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -xmx1000m
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -xx:maxpermsize=256m
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -dignore.endorsed.dirs=
06-sep-2018 14:55:15.074 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -dcatalina.base=/usr/local/apache-tomcat-8.5.33
06-sep-2018 14:55:15.075 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -dcatalina.home=/usr/local/apache-tomcat-8.5.33
06-sep-2018 14:55:15.075 信息 [main] org.apache.catalina.startup.versionloggerlistener.log command line argument: -djava.io.tmpdir=/usr/local/apache-tomcat-8.5.33/temp
06-sep-2018 14:55:15.075 信息 [main] org.apache.catalina.core.aprlifecyclelistener.lifecycleevent the apr based apache tomcat native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
06-sep-2018 14:55:15.236 信息 [main] org.apache.coyote.abstractprotocol.init initializing protocolhandler ["http-nio-8088"]
06-sep-2018 14:55:15.248 信息 [main] org.apache.tomcat.util.net.nioselectorpool.getsharedselector using a shared selector for servlet write/read
06-sep-2018 14:55:15.255 信息 [main] org.apache.coyote.abstractprotocol.init initializing protocolhandler ["ajp-nio-8009"]
06-sep-2018 14:55:15.257 信息 [main] org.apache.tomcat.util.net.nioselectorpool.getsharedselector using a shared selector for servlet write/read
06-sep-2018 14:55:15.259 信息 [main] org.apache.catalina.startup.catalina.load initialization processed in 602 ms
06-sep-2018 14:55:15.302 信息 [main] org.apache.catalina.core.standardservice.startinternal starting service [catalina]
06-sep-2018 14:55:15.302 信息 [main] org.apache.catalina.core.standardengine.startinternal starting servlet engine: apache tomcat/8.5.33
06-sep-2018 14:55:15.327 信息 [localhost-startstop-1] org.apache.catalina.startup.hostconfig.deploywar deploying web application archive [/usr/local/apache-tomcat-8.5.33/webapps/cat.war]
06-sep-2018 14:55:18.042 信息 [localhost-startstop-1] org.apache.jasper.servlet.tldscanner.scanjars at least one jar was scanned for tlds yet contained no tlds. enable debug logging for this logger for a complete list of jars that were scanned but no tlds were found in them. skipping unneeded jars during scanning can improve startup time and jsp compilation time.
06-sep-2018 14:55:33.944 警告 [localhost-startstop-1] org.apache.catalina.util.sessionidgeneratorbase.createsecurerandom creation of securerandom instance for session id generation using [sha1prng] took [15,876] milliseconds.
logger file /data/applogs/cat/cat_20180906.log
[root@localhost bin]# ./startup.sh
using catalina_base: /usr/local/apache-tomcat-8.5.33
using catalina_home: /usr/local/apache-tomcat-8.5.33
using catalina_tmpdir: /usr/local/apache-tomcat-8.5.33/temp
using jre_home: /usr/local/jdk1.8.0_171/jre
using classpath: /usr/local/apache-tomcat-8.5.33/bin/bootstrap.jar:/usr/local/apache-tomcat-8.5.33/bin/tomcat-juli.jar
tomcat started.
[root@localhost bin]# uname -a
linux localhost.localdomain 3.10.0-229.el7.x86_64 #1 smp fri mar 6 11:36:42 utc 2015 x86_64 x86_64 x86_64 gnu/linux
[root@localhost bin]#
参考:how to change jvm heap setting (-xms -xmx) of tomcat – configure setenv.sh file – run catalina.sh
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论