网络上搜集,有操作有分析。

一、问题

在部署大型的 Java Web项目的时候,或者在 MyEclipse 中进行调试的时候经常出现:

OutOfMemoryError: PermGen space

的错误。

二、监控运行时参数

我们经常是在尝试网上的各种方案之后,并且将各种参数手动调整来调整去,都没有作用,依然溢出。此时就需要找到配置后系统认可的内存参数是多少。参考网络上的知识,启动了JDK自带的工具,在\jdk1.6.0_10\bin下面的jconsole.exe内存监控的工具,点击选择PID为4472的这个进程(带有tomcat的进程)。

选择内存页,点击右下角的绿色柱子里的最后一个“内存池“Perm Gen”,相应的左边会显示它的详细信息。

本博客的截图是修复后的参数大小】

三、设置步骤

1. 正确步骤分为2种情况。

1.1 使用MyEclipse和Tomcat搭配进行本地调试

使用MyEclipse调试程序的话,则需要在该软件内进行JDK参数设置。

设置步骤如下图:参数也可参考。JDK版本和Tomcat选择自己调试时用到的那个。

1.2 只使用Tomcat作为生产环境

只使用Tomcat,那肯定就只有在 Tomcat 的配置文件中进行设置了。

设置文件: (你的Tomcat安装路径)/bin/catalina.bat

修改位置:【rem ----- Execute The Requested Command - 】这行后面增加下面:

set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=512m

最好set JAVA_OPTS=%JAVA_OPTS% 这个也要加上。

然后手工启动tomcat,然后看jconsole.exe,查看Perm Gen的内存可以看出配置是否生效。

最新文章

  1. vc++2013中使用MySQL connector/C++ 1.1.4静态链接报错
  2. 获取当前请求的URL的地址、参数、参数值、各种属性
  3. linux系统性能监视命令
  4. Prince2是怎么考试的?
  5. AR
  6. 高手就用Chrome不安全模式
  7. iOS开发-在表单元中添加子视图
  8. C++虚函数表解析(转)
  9. OCP-1Z0-051-题目解析-第28题
  10. 删除PO
  11. 表达式求值(二叉树方法/C++语言描述)(二)
  12. linux下网卡相关查看设置
  13. GitHub 系列之「Git速成」
  14. GitHub上受欢迎的Android UI Library
  15. xmanager 开启X11转发失败问题解决
  16. Qt QGraphicsItem要点 积累
  17. 新FSM的一些思路
  18. MySql在windows上的安装
  19. eclipse工具下hadoop环境搭建
  20. C++学习8-面向对象编程基础(模板)

热门文章

  1. 学习Vim的四周计划
  2. 基于rabbitMQ 消息延时队列方案 模拟电商超时未支付订单处理场景
  3. 迎接仪式 dp
  4. 今天实现一个T-sql的小编程,分享给大家,看看就好~(列值赋值)
  5. tomcat memecached session 共享同步问题的解决
  6. 使用jdk的xjc命令由schema文件生成相应的实体类
  7. string去空格方法
  8. 牛客网Java刷题知识点之构造函数是什么、一般函数和构造函数什么区别呢、构造函数的重载、构造函数的内存图解
  9. Hibernate的工作流程以及三种状态(面试题)
  10. USB转串口连接线与串口调试助手的使用