我如何正确设置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内存,请更改MaxPermSizevariables的值,否则请更改Xmxvariables的值。

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?