项目本身需要上传模型,使用的是springboot1.5.3.
上传的模型比较大,下载的过程中就出现了问题(下载是su调用的java接口,其开发并非本人负责,不可更改)
问题在于,下载的时候tomcat的内存竟然报错溢出,错误代码如下:
org.apache.tomcat.util.net.NioEndpoint
$SocketProcessor.doRun
java.lang.OutOfMemoryError: PermGen space
tomcat的版本使用的是tomcat8,以服务的方式部署在一台win 2008机器上
根据网上的N多版本进行了jvm的优化修改,都不见效.
为了拿到具体的修改结果,使用了tomcat的监控
访问地址为:http://192.168.236.122:20021/manager/status,
ip自行修改
需要用户名和密码登录.
找到C:\Program Files\Apache Software Foundation\Tomcat 8.0\conf目录下的tomcat-users.xml文件
在tomcat-users标签下增加如下内容:
<role rolename="manager-gui" /> <role rolename="admin-gui" /> <user username="admin" password="123456" roles="manager-gui,admin-gui" />
其中username和password自行更改,即为上述访问地址的用户名和密码
进入后界面如下:
相关监控内容的翻译和用途自己去查找
本例中主要是对tomcat中的设置更改,更改后要在
Free memory:
Total memory:
Max memory:
三个项目中发生直观的变化,即防止Perm的溢出,要扩大总jvm内存,使用的配置如下
因为使用的是win服务启动的tomcat,该服务实际上启动的是tomcat8.exe,
所以对本文件夹中的 catalina.bat的修改没有起到任何作用,因此使用的是tomcat8w.ext的修改
修改后测试效果较好,没有再溢出,内存使用与回落都正常