{"id":119,"date":"2010-09-18T19:50:14","date_gmt":"2010-09-19T00:50:14","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/carlita\/?p=119"},"modified":"2010-09-29T20:23:55","modified_gmt":"2010-09-30T01:23:55","slug":"java-lang-outofmemoryerror-permgen-space","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/carlita\/2010\/09\/18\/java-lang-outofmemoryerror-permgen-space\/","title":{"rendered":"java.lang.OutOfMemoryError: PermGen space"},"content":{"rendered":"<p>El  mensaje es un s\u00edntoma de un \"barrido de recolecci\u00f3n de basura  incompleta, donde los recursos no est\u00e1n debidamente puesto en libertad  tras descargar \/ reiniciar. Se acusa a CGLIB, Hibernate, Tomcat, y aun JVM de Sun.<\/p>\n<p>Si detiene una aplicaci\u00f3n web conteniendo hibernate en tomcat, no toda la memoria es liberada. Los modelos de objetos son a\u00fan mantenidos en memoria por cglib. Esto conduce a un error OutOfMemory despu\u00e9s de varias recargas.\u00a0 <a href=\"http:\/\/opensource.atlassian.com\/projects\/hibernate\/browse\/HHH-851\">http:\/\/opensource.atlassian.com\/projects\/hibernate\/browse\/HHH-851<\/a><\/p>\n<p>El <strong>valor por defecto del espacio PermGen es de 64 Mb<\/strong> en  la  m\u00e1quina virtual (VM) de Sun. Este valor es suficiente normalmente  para  las aplicaciones que corren de forma independiente. En el caso de  una  aplicaci\u00f3n que corra en un servidor web tipo Tomcat o un servidor de   aplicaciones, hay casos en los que este valor no es suficiente.<\/p>\n<p>En primer lugar, es posible que la aplicaci\u00f3n necesite m\u00e1s espacio por  su propia arquitectura. Las librer\u00edas Spring e Hibernate son librer\u00edas  grandes, que cargan muchas clases y adem\u00e1s hacen uso de proxies y carga  din\u00e1mica de clases que hacen uso del espacio PermGen por lo que puede  que los 64Mb no sean suficientes. Este caso se da cuando la excepci\u00f3n  con el error se produce nada mas arrancar el servidor web o de  aplicaciones o al acceder a la aplicaci\u00f3n. <strong>Para solventar este problema<\/strong> bastar\u00e1 con aumentar el tama\u00f1o m\u00e1ximo de la memoria de tipo PermGen  seg\u00fan veremos m\u00e1s adelante.encuentra con el problema.<\/p>\n<p>Sin embargo, en general, si  usted est\u00e1 experimentando este error,  modificando su asignaci\u00f3n de  memoria (ajustando el tama\u00f1o de su  PermGen) s\u00f3lo va a alterar la  frecuencia con que se<\/p>\n<p><strong><strong>If you stop a web application containing hibernate in tomcat, not  the whole memory is released. The model objects are still kept in memory  by cglib. This leads to a OutOfMemory Error after several reloads.<\/strong><\/strong><\/p>\n<p>Fuentes:<\/p>\n<p><a href=\"http:\/\/www.jroller.com\/agileanswers\/entry\/preventing_java_s_java_lang\">http:\/\/www.jroller.com\/agileanswers\/entry\/preventing_java_s_java_lang<\/a><\/p>\n<p><a href=\"http:\/\/www.programacionenjava.com\/blog\/2008\/03\/28\/j2ee\/causas-y-solucion-de-javalangoutofmemoryerror-permgen-space-failure\/\">http:\/\/www.programacionenjava.com\/blog\/2008\/03\/28\/j2ee\/causas-y-solucion-de-javalangoutofmemoryerror-permgen-space-failure\/<\/a><\/p>\n<p>v\u00e9ase tambi\u00e9n Foro: <a href=\"http:\/\/forums.sun.com\/thread.jspa?threadID=661841&amp;messageID=3880883\">http:\/\/forums.sun.com\/thread.jspa?threadID=661841&amp;messageID=3880883<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El mensaje es un s\u00edntoma de un \"barrido de recolecci\u00f3n de basura incompleta, donde los recursos no est\u00e1n debidamente puesto en libertad tras descargar \/ reiniciar. Se acusa a CGLIB, Hibernate, Tomcat, y aun JVM de Sun. Si detiene una aplicaci\u00f3n web conteniendo hibernate en tomcat, no toda la memoria es liberada. Los modelos de [&hellip;]<\/p>\n","protected":false},"author":3419,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22794],"tags":[],"class_list":["post-119","post","type-post","status-publish","format-standard","hentry","category-grupo-daw"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/posts\/119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/users\/3419"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":121,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/posts\/119\/revisions\/121"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/media?parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/categories?post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/carlita\/wp-json\/wp\/v2\/tags?post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}