Pergunta

When executing a java desktop application I get a java.lang.OutOfMemoryError: PermGen space.

I have tried increasing java heap size, passing this argument to the VM:

-Xmx1g

But it keeps failing. It doesn't fail if any other colleague runs it in their computers...

What could be causing this?

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: PermGen space
    at org.eclipse.jdt.internal.compiler.Compiler.initializeParser(Compiler.java:485)
    at org.eclipse.jdt.internal.compiler.Compiler.<init>(Compiler.java:112)
    at net.sf.jasperreports.engine.design.JRJdtCompiler.compileUnits(JRJdtCompiler.java:200)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:201)
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:240)
    at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:173)
    at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
    at de.mycompany.jasperReportgenerator.JasperReportDatenGenerator.generateReport(JasperReportDatenGenerator.java:567)
    at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.generiereReport(IFrmReportsController.java:92)
    at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.handleAction(IFrmReportsController.java:43)
    at de.mycompany.myapp.admintool.util.AdminkonsoleIFrameController.handleActionWithExceptionHandling(AdminkonsoleIFrameController.java:107)
    at de.mycompany.myapp.admintool.gui.reports.controller.IFrmReportsController.mouseClicked(IFrmReportsController.java:62)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
    at java.awt.Component.processMouseEvent(Component.java:6300)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
    at java.awt.Component.processEvent(Component.java:6062)
    at java.awt.Container.processEvent(Container.java:2039)
    at java.awt.Component.dispatchEventImpl(Component.java:4660)
    at java.awt.Container.dispatchEventImpl(Container.java:2097)
    at java.awt.Component.dispatchEvent(Component.java:4488)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4245)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
    at java.awt.Container.dispatchEventImpl(Container.java:2083)
    at java.awt.Window.dispatchEventImpl(Window.java:2489)
    at java.awt.Component.dispatchEvent(Component.java:4488)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:674)
    at java.awt.EventQueue.access$400(EventQueue.java:81)
    at java.awt.EventQueue$2.run(EventQueue.java:633)
    at java.awt.EventQueue$2.run(EventQueue.java:631)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
Foi útil?

Solução

As Marko Topolnik said,

-XX:MaxPermSize was the answer.

-XX:MaxPermSize=1g did the trick.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top