【发布时间】:2018-12-28 09:26:31
【问题描述】:
我有这个带有 tomcat、java 和 grails 的 VM。我一直收到 permgen 错误,所以我环顾四周并找到了解决方案:
set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
我使用 SSH 访问 vm 并输入上面的参数。我想这会解决问题。问题是,我想确保我做得正确。所以我再次搜索了如何检查当前的 permSize,这就是我得到的解决方案:
jinfo -flag MaxPermSize 6444
6444 是 pid,作为响应,我得到了这个。
-XX:MaxPermSize=85983232
问题:maxPermSize 的值是否以字节为单位?因为,如果是,那将意味着 java_opts 命令不起作用。我期望得到 512m 但 85983232 字节 = 82 mb .. 还是我看错了..?有人可以启发我吗? D:
【问题讨论】:
-
我假设您重新启动了 tomcat 进程?使用 ps -wwf 6444 您可以看到启动该过程的完整命令。检查您的选项是否包括在内。您也可以启动 jconsole(包含在 jdk 中)并连接到进程,然后检查 General info 选项卡和 Memory 选项卡。
-
我没有重启过tomcat。我想我忘记了那个过程.. D:对不起,我对这个部署的东西有点陌生.. 但我想作为一名开发人员,我应该知道这种东西.. 谢谢。 :)
标签: java tomcat grails jvm permgen