BỐI CẢNH: Tôi có một Dự án web sử dụng JSP. IDE là Eclipse. Cấu hình của tomcat là: Tự động xuất bản khi thay đổi tài nguyên và khoảng thời gian xuất bản là "1 giây".phải làm gì với không gian tomcat PermGen
Tệp thuộc tính trong thư mục lớp dùng để lưu một số cài đặt. Nó cũng có thể được servlet sửa đổi động. Các hoạt động sửa đổi được trigerred bởi nút lưu trong JSP.
VẤN ĐỀ: Sau một vài thao tác lưu, Tomcat đi kèm với java.lang.OutOfMemoryError: PermGen space
.
LOG ĐIỆP
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1064)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4238)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3083)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1560)
at java.lang.Thread.run(Thread.java:662)
tiềm năng trùng lặp. http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error – Phani
Tôi gặp lỗi này với Tomcat bất cứ khi nào mọi người redeploy một ứng dụng web nhiều lần, mà không cần khởi động lại Tomcat . Vì một rò rỉ liên quan đến quá trình nạp lớp, không gian permgen sẽ đầy đủ hơn một chút với mỗi lần triển khai lại. Tăng kích thước permgen sẽ trì hoãn điểm mà tại đó nó hết bộ nhớ, nhưng thực sự, bạn cần đảm bảo Tomcat bị trả lại khi bạn triển khai lại một ứng dụng web. – Jon
Vui lòng xem qua bài viết dưới đây giải thích đầy đủ về cấu hình tomcat để tăng permGen [Tomcat PermGen Space] (http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/) – Phani