• java.lang.OutOfMemoryError: PermGen space


    Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space
    Exception in thread "Druid-ConnectionPool-Destory" java.lang.OutOfMemoryError: PermGen space
            at java.util.IdentityHashMap.keySet(IdentityHashMap.java:935)
            at com.alibaba.druid.pool.DruidDataSource.removeAbandoned(DruidDataSource.java:1312)
            at com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:1294)
    Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space

    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的时候。 改正方法:-Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

    一、修改Eclipse 启动参数
      直接右键eclipse的快捷方式,在"目标"中填入下行
      D:eclipse eclipse.exe -debug options -vm javaw.exe -nl zh_CN -clean -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M -Xms128m -Xmx1024m
      参数注解:
      【-debug options -vm javaw.exe】 显示JVM当前内存使用量(注:详见下方《让你的eclipse也能显示JVM当前内存使用量》)
      【-nl】后面跟的是语言:英语 en_US 简体中文 zh_CN
      【-clean 】是当启动Eclipse IDE时清空缓冲,一般来说在没有更新插件的情况下,去掉这个参数启动速度更快。
      【-vmargs】使用JRE的参数,后面就是JRE的参数了:
      【-Xverify:none】去掉JAR包数据验证,一般来说只有在网络环境下才需要验证JAR包数据的有效性。本地的话可以不用验证。
      【-XX:+UseParallelGC】使用并行垃圾收集机制,据说这个GC算法比较快。具体不清楚。
      【-XX:PermSize=20M -XX:MaxNewSize=32M -XX:NewSize=32M】这三个就是设置详细的缓冲数据了。详情看Java官方网站的介绍吧。
      【-Xms128m】Java虚拟机初始化内存容量。
      【-Xmx256m】Java虚拟机最大使用内存容量,根据你所使用机器的内容大小设置,只要不超过最大内存容量就好。

    二、修改Tomcat

    然后在eclipse的server栏,找到tomcat选项,打开tomcat的配置

    在arguments 标签框下面的VM Arguments 框后面接上自己的tomcat启动虚拟机参数-Xms128m -Xmx1024m -XX:MaxPermSize=512m 就可以了

  • 相关阅读:
    Android ViewPager实现选项卡切换
    Android Fragment是什么
    Android 点击文字实现跳转
    海底捞的十五天,让我重当程序员
    saltstack 实现haproxy+keepalived
    saltstack 实现系统初始化
    saltstack 实现redis主从
    python类基础
    Mysql 数据库备份工具 xtrabackup
    Python函数式编程
  • 原文地址:https://www.cnblogs.com/blog-yuesheng521/p/5807531.html
Copyright © 2020-2023  润新知