zoukankan      html  css  js  c++  java
  • Avoid Permgen Space error when running tomcat from eclipse

    在 启动过程中出现 内存 溢出问题,抛出类似如下异常信息:
    java.lang.OutOfMemoryError: Java heap space

    可以尝试办法:
    A.修改Tomcat/bin/catalina.bat,添加如下内容
    set JAVA_OPTS=-Xms256m -Xmx512m -Djava.awt.headless=true [-XX:MaxPermSize=128M]

    B.eclipse->windows->preferences..->tomcat->jvm..->jvm文本框里,添加-Xms256m -Xmx512m

    C.eclipse->preference->java->instal jres->edit,增加参数:-Xms256m -Xmx512m

    参考原因: JVM中如果98%的时间是用于GC且可用的, Heap size不足2%的时候将抛出此异常信息。
    JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。
    可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置。Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。
    Heap size的 -Xms -Xmn 设置不要超出物理内存的大小。否则会提示“Error occurred during initialization of VM Could not reserve enough space for object heap”。



    Eclipse中调整tomcat内存大小:
     
    window-preferences-tomcat-jvm settings-append jvm parameter -
     
    add
     
    "-Xms384m -Xmx1024m"
     
    这个是针对Eclipse中的tomcat的debug模式有效地,在系统环境变量中设置set JAVA_OPTS= -Xms1024m -Xmx1024m 之类在Eclipse中的debug模式是无效的。

    作者:Angelo Lee
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    Virtual Judge —— Nim TopCoder
    Partial Sums ZOJ
    Partial Sums ZOJ
    Areas on the Cross-Section Diagram Aizu
    Areas on the Cross-Section Diagram Aizu
    Doubly Linked List Aizu
    Doubly Linked List Aizu
    1134:合法C标识符查
    TCP阻塞模式开发
    TCP阻塞模式开发
  • 原文地址:https://www.cnblogs.com/yefengmeander/p/2887592.html
Copyright © 2011-2022 走看看