I just downloaded and setup xwiki on my local machine using the war file. I'm running it through tomcat 6 using hsql. I have it up and running but everytime i use it and get to the 5 or 6th page of whatever i'm doing, I get the error java.lang.OutOfMemoryError: PermGen space
我只是在我的本地机器上下载并设置了xwiki,使用war文件。我使用hsql在tomcat 6中运行它。我已经开始运行了,但是每次我使用它,到我所做的任何事情的5或6页时,我都会得到错误java.lang。OutOfMemoryError:PermGen空间
I've added this line to my catalina.bat file set JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:UseConcMarkSweepGC"
and It doesn't seem to be helping the problem.
我把这条线加到我的卡特琳娜。bat文件set JAVA_OPTS = " -Djava.awt。无头= true -Dfile。mso - fareast - font - family:宋体;mso - bidi - font - family: " times new roman "; mso - bidi - font - family: " times new roman "; mso - bidi - theme - font:
Any help is appreciated.
任何帮助都是感激。
EDIT
编辑
Full catalina.bat file:
卡特琳娜。bat文件:
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Start/Stop Script for the CATALINA Server
rem
rem Environment Variable Prerequisites
rem
rem CATALINA_HOME May point at your Catalina "build" directory.
rem
rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions
rem of a Catalina installation. If not present, resolves to
rem the same directory that CATALINA_HOME points to.
rem
rem CATALINA_OPTS (Optional) Java runtime options used when the "start",
rem or "run" command is executed.
rem
rem CATALINA_TMPDIR (Optional) Directory path location of temporary directory
rem the JVM should use (java.io.tmpdir). Defaults to
rem %CATALINA_BASE%\temp.
rem
rem JAVA_HOME Must point at your Java Development Kit installation.
rem Required to run the with the "debug" argument.
rem
rem JRE_HOME Must point at your Java Runtime installation.
rem Defaults to JAVA_HOME if empty.
rem
rem JAVA_OPTS (Optional) Java runtime options used when the "start",
rem "stop", or "run" command is executed.
rem
rem JAVA_ENDORSED_DIRS (Optional) Lists of of semi-colon separated directories
rem containing some jars in order to allow replacement of APIs
rem created outside of the JCP (i.e. DOM and SAX from W3C).
rem It can also be used to update the XML parser implementation.
rem Defaults to $CATALINA_HOME/endorsed.
rem
rem JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start"
rem command is executed. The default is "dt_socket".
rem
rem JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start"
rem command is executed. The default is 8000.
rem
rem JPDA_SUSPEND (Optional) Java runtime options used when the "jpda start"
rem command is executed. Specifies whether JVM should suspend
rem execution immediately after startup. Default is "n".
rem
rem JPDA_OPTS (Optional) Java runtime options used when the "jpda start"
rem command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
rem and JPDA_SUSPEND are ignored. Thus, all required jpda
rem options MUST be specified. The default is:
rem
rem -agentlib:jdwp=transport=%JPDA_TRANSPORT%,
rem address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
rem
rem LOGGING_CONFIG (Optional) Override Tomcat's logging config file
rem Example (all one line)
rem set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties"
rem
rem LOGGING_MANAGER (Optional) Override Tomcat's logging manager
rem Example (all one line)
rem set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
rem
rem TITLE (Optional) Specify the title of Tomcat window. The default
rem TITLE is Tomcat if it's not specified.
rem Example (all one line)
rem set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%]
rem
rem
rem
rem $Id: catalina.bat 1146097 2011-07-13 15:25:05Z markt $
rem ---------------------------------------------------------------------------
set CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:+DisableExplicitGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome
rem Copy CATALINA_BASE from CATALINA_HOME if not defined
if not "%CATALINA_BASE%" == "" goto gotBase
set "CATALINA_BASE=%CATALINA_HOME%"
:gotBase
rem Ensure that any user defined CLASSPATH variables are not used on startup,
rem but allow them to be specified in setenv.bat, in rare case when it is needed.
set CLASSPATH=
rem Get standard environment variables
if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome
call "%CATALINA_BASE%\bin\setenv.bat"
goto setenvDone
:checkSetenvHome
if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
:setenvDone
rem Get standard Java environment variables
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
echo This file is needed to run this program
goto end
:okSetclasspath
set "BASEDIR=%CATALINA_HOME%"
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
if errorlevel 1 goto end
if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
set "CATALINA_TMPDIR=%CATALINA_BASE%\temp"
:gotTmpdir
rem Add tomcat-juli.jar and bootstrap.jar to classpath
rem tomcat-juli.jar can be over-ridden per instance
rem Note that there are no quotes as we do not want to introduce random
rem quotes into the CLASSPATH
if "%CLASSPATH%" == "" goto emptyClasspath
set "CLASSPATH=%CLASSPATH%;"
:emptyClasspath
if "%CATALINA_BASE%" == "%CATALINA_HOME%" goto juliClasspathHome
if not exist "%CATALINA_BASE%\bin\tomcat-juli.jar" goto juliClasspathHome
set "CLASSPATH=%CLASSPATH%%CATALINA_BASE%\bin\tomcat-juli.jar;%CATALINA_HOME%\bin\bootstrap.jar"
goto juliClasspathDone
:juliClasspathHome
set "CLASSPATH=%CLASSPATH%%CATALINA_HOME%\bin\bootstrap.jar"
:juliClasspathDone
if not "%LOGGING_CONFIG%" == "" goto noJuliConfig
set LOGGING_CONFIG=-Dnop
if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig
set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
:noJuliConfig
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%
if not "%LOGGING_MANAGER%" == "" goto noJuliManager
set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%
rem ----- Execute The Requested Command ---------------------------------------
echo Using CATALINA_BASE: "%CATALINA_BASE%"
echo Using CATALINA_HOME: "%CATALINA_HOME%"
echo Using CATALINA_TMPDIR: "%CATALINA_TMPDIR%"
if ""%1"" == ""debug"" goto use_jdk
echo Using JRE_HOME: "%JRE_HOME%"
goto java_dir_displayed
:use_jdk
echo Using JAVA_HOME: "%JAVA_HOME%"
:java_dir_displayed
echo Using CLASSPATH: "%CLASSPATH%"
set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
set SECURITY_POLICY_FILE=
set DEBUG_OPTS=
set JPDA=
if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=8000
:gotJpdaAddress
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
set JPDA_SUSPEND=n
:gotJpdaSuspend
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
:gotJpdaOpts
shift
:noJpda
if ""%1"" == ""debug"" goto doDebug
if ""%1"" == ""run"" goto doRun
if ""%1"" == ""start"" goto doStart
if ""%1"" == ""stop"" goto doStop
if ""%1"" == ""version"" goto doVersion
echo Usage: catalina ( commands ... )
echo commands:
echo debug Start Catalina in a debugger
echo debug -security Debug Catalina with a security manager
echo jpda start Start Catalina under JPDA debugger
echo run Start Catalina in the current window
echo run -security Start in the current window with security manager
echo start Start Catalina in a separate window
echo start -security Start in a separate window with security manager
echo stop Stop Catalina
echo version What version of tomcat are you running?
goto end
:doDebug
shift
set _EXECJAVA=%_RUNJDB%
set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\java"
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doRun
shift
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doStart
shift
if not "%OS%" == "Windows_NT" goto noTitle
if "%TITLE%" == "" set TITLE=Tomcat
set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
goto gotTitle
:noTitle
set _EXECJAVA=start %_RUNJAVA%
:gotTitle
if not ""%1"" == ""-security"" goto execCmd
shift
echo Using Security Manager
set "SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy"
goto execCmd
:doStop
shift
set ACTION=stop
set CATALINA_OPTS=
goto execCmd
:doVersion
%_EXECJAVA% -classpath "%CATALINA_HOME%\lib\catalina.jar" org.apache.catalina.util.ServerInfo
goto end
:execCmd
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs
rem Execute Java with the applicable properties
if not "%JPDA%" == "" goto doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:doSecurity
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:doJpda
if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:doSecurityJpda
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
goto end
:end
bin\setclasspath.bat
本\ setclasspath.bat
@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 908749 2010-02-10 23:26:42Z markt $
rem ---------------------------------------------------------------------------
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit
:gotJreHome
if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome
if not ""%1"" == ""debug"" goto okJavaHome
echo JAVA_HOME should point to a JDK in order to run in debug mode.
goto exit
:gotJdkHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
if not "%JRE_HOME%" == "" goto okJavaHome
set "JRE_HOME=%JAVA_HOME%"
goto okJavaHome
:noJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
echo NB: JAVA_HOME should point to a JDK not a JRE
goto exit
:okJavaHome
if not "%BASEDIR%" == "" goto gotBasedir
echo The BASEDIR environment variable is not defined
echo This environment variable is needed to run this program
goto exit
:gotBasedir
if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir
echo The BASEDIR environment variable is not defined correctly
echo This environment variable is needed to run this program
goto exit
:okBasedir
rem Don't override the endorsed dir if the user has set it previously
if not "%JAVA_ENDORSED_DIRS%" == "" goto gotEndorseddir
rem Set the default -Djava.endorsed.dirs argument
set "JAVA_ENDORSED_DIRS=%BASEDIR%\endorsed"
:gotEndorseddir
rem Set standard command for invoking Java.
rem Note that NT requires a window name argument when using start.
rem Also note the quoting as JAVA_HOME may contain spaces.
set _RUNJAVA="%JRE_HOME%\bin\java"
set _RUNJDB="%JAVA_HOME%\bin\jdb"
goto end
:exit
exit /b 1
:end
exit /b 0
2 个解决方案
#1
1
Someone from the xwiki forum posted their setenv.bat file and I had to tweak it a little bit, but this seems to solve my issue.
来自xwiki论坛的人发布了他们的setenv。bat文件,我不得不稍微调整一下,但这似乎解决了我的问题。
REM # Set the Environment (32-bit/64-bit)
SET JAVA_32_64=64
REM # Recommended memory settings for 32-bit Java; Default Test, Default Prod
SET "MCK_MEM_32_OPTS=-server -Xms1024m -Xmx1024m -Xmn256m -XX:MaxPermSize=200m"
REM # Recommended memory settings for 64-bit Java; Default Test, Default Prod
SET "MCK_MEM_64_OPTS=-server -Xms2048m -Xmx2048m -Xmn512m -XX:MaxPermSize=300m
REM # Configure Specific JVM Settings
SET "MCK_GC_OPTS=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:%CATALINA_HOME%/logs/gclog.log -verbose:gc -Xbatch -XX:HeapDumpPath=%CATALINA_HOME%/logs -XX:ErrorFile=%CATALINA_HOME%/logs -XX:+TraceClassLoading -XX:+TraceClassUnloading -Djava.awt.headless=true"
REM # Configure Application Home Directories
SET "JDK_HOME=C:\Program Files\Java"
SET "JAVA_32_HOME=%JDK_HOME%\jdk1.6.0_32"
SET "JAVA_64_HOME=%JDK_HOME%\jdk1.6.0_32"
SET "JRE_32_HOME=%JAVA_32_HOME%\jre"
SET "JRE_64_HOME=%JAVA_64_HOME%\jre"
:64BIT
SET "MCK_MEM_OPTS=%MCK_MEM_64_OPTS%"
SET "JAVA_HOME=%JAVA_64_HOME%"
SET "JRE_HOME=%JRE_64_HOME%"
goto :CONTINUE
:CONTINUE
REM # Specify Memory Options for JBoss JVM
SET "JAVA_OPTS=%JAVA_OPTS% %MCK_MEM_OPTS% "
ECHO.
ECHO ===============================================================================
ECHO SETENV.BAT
ECHO ===============================================================================
ECHO.
ECHO Running with the following Environment variables:
ECHO.
ECHO MCK_MEM_OPTS = %MCK_MEM_OPTS%
ECHO JAVA_HOME = %JAVA_HOME%
ECHO JRE_HOME = %JRE_HOME%
ECHO JAVA_OPTS = %JAVA_OPTS%
ECHO.
ECHO ===============================================================================
ECHO.
#2
0
The solution is indeed to increase the -XX:MaxPermSize
value, and 1024m
should be enough (it's rather large, actually). The fact that you still get the error suggests that the value is ignored, most likely it's overridden somewhere else.
解决方案实际上是增加-XX:MaxPermSize值,1024m应该足够了(实际上,它相当大)。您仍然得到错误的事实表明该值被忽略,很可能在其他地方被忽略。
As far as I know, there's a CATALINA_OPTS
that overrides many of the parameters set in JAVA_OPTS
. Look further in the catalina.bat
file for another place where the MaxPermSize
setting is defined.
据我所知,有一个CATALINA_OPTS,它覆盖了JAVA_OPTS中设置的许多参数。再看看卡特琳娜。bat文件用于定义MaxPermSize设置的另一个位置。
#1
1
Someone from the xwiki forum posted their setenv.bat file and I had to tweak it a little bit, but this seems to solve my issue.
来自xwiki论坛的人发布了他们的setenv。bat文件,我不得不稍微调整一下,但这似乎解决了我的问题。
REM # Set the Environment (32-bit/64-bit)
SET JAVA_32_64=64
REM # Recommended memory settings for 32-bit Java; Default Test, Default Prod
SET "MCK_MEM_32_OPTS=-server -Xms1024m -Xmx1024m -Xmn256m -XX:MaxPermSize=200m"
REM # Recommended memory settings for 64-bit Java; Default Test, Default Prod
SET "MCK_MEM_64_OPTS=-server -Xms2048m -Xmx2048m -Xmn512m -XX:MaxPermSize=300m
REM # Configure Specific JVM Settings
SET "MCK_GC_OPTS=-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:%CATALINA_HOME%/logs/gclog.log -verbose:gc -Xbatch -XX:HeapDumpPath=%CATALINA_HOME%/logs -XX:ErrorFile=%CATALINA_HOME%/logs -XX:+TraceClassLoading -XX:+TraceClassUnloading -Djava.awt.headless=true"
REM # Configure Application Home Directories
SET "JDK_HOME=C:\Program Files\Java"
SET "JAVA_32_HOME=%JDK_HOME%\jdk1.6.0_32"
SET "JAVA_64_HOME=%JDK_HOME%\jdk1.6.0_32"
SET "JRE_32_HOME=%JAVA_32_HOME%\jre"
SET "JRE_64_HOME=%JAVA_64_HOME%\jre"
:64BIT
SET "MCK_MEM_OPTS=%MCK_MEM_64_OPTS%"
SET "JAVA_HOME=%JAVA_64_HOME%"
SET "JRE_HOME=%JRE_64_HOME%"
goto :CONTINUE
:CONTINUE
REM # Specify Memory Options for JBoss JVM
SET "JAVA_OPTS=%JAVA_OPTS% %MCK_MEM_OPTS% "
ECHO.
ECHO ===============================================================================
ECHO SETENV.BAT
ECHO ===============================================================================
ECHO.
ECHO Running with the following Environment variables:
ECHO.
ECHO MCK_MEM_OPTS = %MCK_MEM_OPTS%
ECHO JAVA_HOME = %JAVA_HOME%
ECHO JRE_HOME = %JRE_HOME%
ECHO JAVA_OPTS = %JAVA_OPTS%
ECHO.
ECHO ===============================================================================
ECHO.
#2
0
The solution is indeed to increase the -XX:MaxPermSize
value, and 1024m
should be enough (it's rather large, actually). The fact that you still get the error suggests that the value is ignored, most likely it's overridden somewhere else.
解决方案实际上是增加-XX:MaxPermSize值,1024m应该足够了(实际上,它相当大)。您仍然得到错误的事实表明该值被忽略,很可能在其他地方被忽略。
As far as I know, there's a CATALINA_OPTS
that overrides many of the parameters set in JAVA_OPTS
. Look further in the catalina.bat
file for another place where the MaxPermSize
setting is defined.
据我所知,有一个CATALINA_OPTS,它覆盖了JAVA_OPTS中设置的许多参数。再看看卡特琳娜。bat文件用于定义MaxPermSize设置的另一个位置。