Java 为什么Tomcat内存没有增加

Java 为什么Tomcat内存没有增加,java,tomcat,memory,webserver,tomcat8,Java,Tomcat,Memory,Webserver,Tomcat8,安装应用程序的服务器具有1G内存。但是当tomcat启动时,它只启动500MB 我已经创建了setenv.sh,如下所示 export CATALINA_OPTS="$CATALINA_OPTS -Xms2024m" export CATALINA_OPTS="$CATALINA_OPTS -Xmx3024m" 我需要知道为什么它不是2GB的 当我想启动tomcat时,使用下面的命令 ./catalina.sh start 在CATALINA.SH中,下面的代码已经存在,它将调用setenv

安装应用程序的服务器具有1G内存。但是当tomcat启动时,它只启动500MB

我已经创建了setenv.sh,如下所示

export CATALINA_OPTS="$CATALINA_OPTS -Xms2024m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx3024m"
我需要知道为什么它不是2GB的

当我想启动tomcat时,使用下面的命令

./catalina.sh start
在CATALINA.SH中,下面的代码已经存在,它将调用setenv.SH

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
  . "$CATALINA_BASE/bin/setenv.sh"
elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
  . "$CATALINA_HOME/bin/setenv.sh"
fi
我检查了tomcat日志,提到它是从2024m开始的,但它仍然没有使用2G Ram

INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms2024m
INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx3024m
INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/share/tomcat

tomcat是否在
setenv.sh
中启动?环境变量继承到子进程中,不会影响父进程,因此以下操作将不起作用:

$ ./setenvh.sh
$ ./start-tomcat.sh
因为shell是父进程,所以在子进程(
setenv.sh
)中设置变量,然后在脚本退出时“忘记”

以下工作将起作用:

$ . ./setenv.sh
$ ./start-tomcat.sh
因为
在当前shell中执行
setenv.sh
,并在子进程中启动tomcat之前修改变量。

最佳方法

在linux中运行

 export _JAVA_OPTIONS="-Xms2024m -Xmx3024m"
停止启动tomcat

./catalina.sh stop
Using CATALINA_BASE:   /usr/tomcat
Using CATALINA_HOME:   /usr/tomcat
Using CATALINA_TMPDIR: /usr/tomcat/temp
Using JRE_HOME:        /usr/lib/jvm/java-8-oracle
Using CLASSPATH:       /usr/share/tomcat/bin/bootstrap.jar:/usr/tomcat/bin/tomcat-juli.jar
Picked up _JAVA_OPTIONS: -Xms2024m -Xmx3024
当你在日志中停止tomcat时

Picked up _JAVA_OPTIONS: -Xms2024m -Xmx3024
开始

通过下面的命令,您可以检查JAVA环境是否已更改

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
结果

 Picked up _JAVA_OPTIONS: -Xms2024m -Xmx3024m
         intx CompilerThreadStackSize                   = 0                                   {pd product}
        uintx ErgoHeapSizeLimit                         = 0                                   {product}
        uintx HeapSizePerGCThread                       = 87241520                            {product}
        uintx InitialHeapSize                          := 2122317824                          {product}
        uintx LargePageHeapSizeThreshold                = 134217728                           {product}
        uintx MaxHeapSize                              := 3170893824                          {product}
         intx ThreadStackSize                           = 1024                                {pd product}
         intx VMThreadStackSize                         = 1024                                {pd product}
    java version "1.8.0_111"
    Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

如果我想开始,请告诉我你启动tomcatI的方式。我会编辑
catalina.sh
,比如
catalina_OPTS=“$catalina_OPTS-server-Xms2024m-Xmx3024m”
你能把setenv.sh添加到你的问题中吗?
 Picked up _JAVA_OPTIONS: -Xms2024m -Xmx3024m
         intx CompilerThreadStackSize                   = 0                                   {pd product}
        uintx ErgoHeapSizeLimit                         = 0                                   {product}
        uintx HeapSizePerGCThread                       = 87241520                            {product}
        uintx InitialHeapSize                          := 2122317824                          {product}
        uintx LargePageHeapSizeThreshold                = 134217728                           {product}
        uintx MaxHeapSize                              := 3170893824                          {product}
         intx ThreadStackSize                           = 1024                                {pd product}
         intx VMThreadStackSize                         = 1024                                {pd product}
    java version "1.8.0_111"
    Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)