解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题
PermGen space
的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space
。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM
存放Class
和Meta
信息的,Class在被Load
的时候被放入PermGen space
区域,它和存放Instance
的Heap
区域不同,GC
(Garbage Collection)不会在主程序运行期对PermGen space
进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
问题背景:
Tomcat
启动了太多的项目,或者有的项目引用了太多的jar
包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space
的错误,我们知道可以通过jvm
参数 -XX:MaxPermSize=256m
来配置这部分堆内存的大小。
在eclipse
中如何配置tomcat
的内存大小呢?
手动设置MaxPermSize大小
首先需要双击tomcat server
,如下图所示:
双击上图后会出现,tomcat
配置的界面:
然后再点击上图的,红色矩形框的链接,会弹出tomcat
参数配置的节面,要选择Arguments
参数框:
如上图在VM arguments
文本框内设置 -XX:MaxPermSize=256m
的值即可, 当然此处还可以添加其他jvm
参数,比如最大内存,最小内存等。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
SpringBoot thymeleaf eclipse热部署方案操作步骤
网上找了好多的springboot热部署方案,也尝试了好几种方法,下面是我的成功方案跟大家分享 操作步骤 1.pom中添加热部署依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency&g
-
在Eclipse中部署Spring Boot/Spring Cloud应用到阿里云
Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Eclipse 中部署 Spring Boot / Spring Cloud 应用到阿里云. 本地开发 无论是编写云端运行的,还是编写本地运行的 Spring Boot 应用程序,代码编写本身并没有特别大的变化,因此本文采用一个极其基础的样例<在 Web 页面打印 HelloWorld 的 Spring Boot >为例,通过启动内置的 Tomcat 容器,处理 HTT
-
Eclipse引用XSD实现XML配置文件提示标签的方法
对于SpringMVC的下载包,XSD文件存放在压缩包里的Schema文件夹里,而且各功能的XSD存放在各自文件夹内,把最新版本的XSD文件取出. Eclipse软件,依次选择Window--Preferences,弹出Preferences窗体,左侧,展开XML -- XML Catalog,对User Specified Entries,选择Add... 找到XSD文件存放位置,并填上 要注意的是:KeyType选择Schema location,并且Key值的后面要加上/xxxxx-x.x
-
eclipse下整合springboot和mybatis的方法步骤
1.新建maven项目 先新建一个maven项目,勾选上creat a simple project,填写groupid,artifactid 2.建立项目结构 3.添加依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.3.RELEASE<
-
IDEA导入eclipse项目并且部署到tomcat的步骤详解
前言 本文主要给大家介绍了关于IDEA导入eclipse项目并部署到tomcat的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 步骤如下: 1.首先引入本地项目 我这里是maven项目就直接选择的以maven项目引入,如果选eclipse的话,pom文件不会被初始化,部署tomcat会出问题 这项选完后,就一路next,jdk可以在引入的时候选择,也可以引入后在配置,注意jdk版本要与项目一致 现在项目就从成功引入进来了,可能现在项目会有一大堆红杠,是因为项目还没有配
-
Eclipse/MyEclipse转IntelliJ IDEA完全攻略(图文)
本文介绍了Eclipse/MyEclipse转IntelliJ IDEA完全攻略,分享给大家,具体如下: 前言 Eclipse/MyEclipse曾经是Java开发的不二之选.然而随着IntelliJ IDEA的横空出世,Eclipse/MyEclipse开始显得老旧和原始. 但由于IntelliJ IDEA的很多用法概念与Eclipse/MyEclipse有很大的差别,使得很多多年使用Eclipse/MyEclipse的程序员难以适应. 所以在本文我将详细的说明从Eclipse/MyEclip
-
MyEclipse+Tomcat配置详解(图文)
一.Tomcat 1 Tomcat概述 Tomcat服务器由Apache提供,开源免费.由于Sun和其他公司参与到了Tomcat的开发中,所以最新的JSP/Servlet规范总是能在Tomcat中体现出来.当前最新版本Tomcat8,我们课程中使用Tomcat7.Tomcat7支持Servlet3.0,而Tomcat6只支持Servlet2.5! 2 安装.启动.配置Tomcat 下载Tomcat可以到http://tomcat.apache.org下载. Tomcat分为安装版和解压版: 安装
-
Eclipse+Maven构建Hadoop项目的方法步骤
Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(Project Object Model 缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建.报告和文档等步骤.Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理. 在开发一些大型项目的时候,需要用到各种各样的开源包jar,为了方便管理及加载jar,使用maven开发项目可以节省大量时间且方便项目移动至新的开发环境
-
Eclipse插件开发实现控制台输出信息的方法
进行Eclipse插件开发时,有时需要为插件开发自己的控制台,以便在必要输出提示信息,本文介绍进行Eclipse插件开发时,如何实现自己的控制台. 1. 扩展控制台扩展点. 对org.eclipse.ui.console.consoleFactories扩展点进行扩展,并填写必要的信息,比如label,class等.如下图. 2. 实现ConsoleFactory类.需要加给工程加入org.eclipse.ui.console_3.4.0.v20090513.jar.版本可以不同. packag
-
Eclipse运行android项目报错Unable to build: the file dx.jar was not loaded from the SDK folder的解决办法
由于最近通过SDK-Manager更新了build-tools,当要用到dx.jar这个包时,自动调用最新build-tools中dx.jar,但是运行Android项目时Console却提示: Failed to load C:\Program Files (x86)\android\android-sdk\build-tools\26.0.0-preview\lib\dx.jar Unable to build: the file dx.jar was not loaded from the
随机推荐
- Nginx的使用经验小结
- PowerShell中调用.NET对象的静态方法、静态属性和类方法、类属性例子
- iOS中UIScrollView嵌套UITableView的实践教程
- AngularJS实现textarea记录只能输入规定数量的字符并显示
- Laravel搭建后台登录系统步骤详解
- 游戏和服备忘问题简析
- 一个比较简单的PHP 分页分组类
- 浅析51个PHP处理字符串的函数
- python将html转成PDF的实现代码(包含中文)
- 下拉列表多级联动dropDownList示例代码
- Mac下Nginx安装环境配置详解
- Nagios的安装与使用详细教程
- 火山互联linux VPS配置方法
- c语言解析bmp图片的实例
- Android Button的基本用法详解及简单实例
- java HashMap的keyset实例
- thinkphp中字符截取函数msubstr()用法分析
- Android编程获取网址HTML代码的方法
- C++将二叉树转为双向链表及判断两个链表是否相交
- BT5不能使用apt-get命令的解决方案