- 首先你要启动Tomcat,只能使用startup.bat的方式启动.
- 启动jdk15\bin\jconsole.exe.
- 点击连接后,出现管理界面,这个时候我们就可以对内存,线程类等进行查看
- 可以手动执GC
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_HOME%\conf\logging.properties"
解决严重: Exception initializing page context java.lang.OutOfMemoryError: Java heap space 的方法.
设置参数JVM参数-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
可以在环境变量中增加CATALINA_OPTS,值为-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m,当然你也可以根据实际的需要加大内存值.
因为对于操作系统,请求内存的系统调用会占用大量的cpu时间,所以频繁的请求、释放内存将会导致性能的严重下降。所以对于jvm,最好的方式就是尽量多占用内存作为heap,少释放甚至不释放空闲的heap给操作系统以减少消耗在内存请求、释放操作上的cpu时间。
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益 出:这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
链接:

0 评论:
发表评论