项目本身需要上传模型,使用的是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的修改

 

修改后测试效果较好,没有再溢出,内存使用与回落都正常