我如何正确设置permgen大小?
我有这个虚拟机与tomcat,Java和Grails的。 我已经得到permgen错误,所以我四处张望,发现解决scheme:
set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
我使用SSH访问虚拟机并键入上面的参数。 我想这会解决这个问题。 事情是,我想确保我做对了。 所以我再次search如何检查当前permSize,这是我得到的解决scheme:
jinfo -flag MaxPermSize 6444
6444是pid,作为回应,我得到了这个。
-XX:MaxPermSize=85983232
问题:maxPermSize的值是以字节为单位的吗? 因为,如果是这样,那就意味着java_opts命令不起作用。 我期望得到512米,但85983232字节= 82 MB ..或者我看到错误..? 有人可以启发我吗? d:
您必须更改Tomcat Catalina启动文件中定义的CATALINA_OPTS选项中的值。 要增加PermGen
内存,请更改MaxPermSize
variables的值,否则请更改Xmx
variables的值。
Linux和Mac OS:打开或创build放置在“bin”目录中的setenv.sh
文件。 您必须将更改应用于此行:
export CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
视窗:
打开或创build放置在“bin”目录中的setenv.bat
文件:
set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
不要将环境configuration放在catalina.bat / catalina.sh中。 相反,您应该在CATALINA_BASE \ bin \ setenv.bat中创build一个新文件,以使您的自定义独立于Tomcat安装。
所以你对“-XX:MaxPermSize = 512m”做了正确的事情:确实是正确的语法。 您可以尝试将这些选项直接设置到Catalyst服务器文件,以便在服务器启动时使用它们。
也许这个post会帮助你!
如何确保Tomcat6在Windows上读取CATALINA_OPTS?