gpt4 book ai didi

java - Grails 和 PermGen 与 g :link and g:render 相关的问题

转载 作者:行者123 更新时间:2023-12-02 00:51:50 25 4
gpt4 key购买 nike

我已经运行 grails 一段时间了,没有出现任何问题,但最近升级到 Grails 1.1.1 后,我遇到了可怕的 PermGen 错误。升级之前没有这样的问题。

<g:link> 时似乎会发生错误。和<g:render>标签在 GSP 中使用,尽管我不确定这是否表明这是问题所在,但更多的事实是,在渲染这些标签时,它耗尽了空间。

通常,遇到 PermGen 错误的每个人都建议增加 Java 环境选项 - 但问题的根源可能是什么?这是 Grails 1.1/hibernate/spring 的问题吗?

错误:

2010-04-20 05:37:03,962 INFO  [STDOUT] 05:37:03,961 ERROR [GroovyPagesServlet] Error processing GSP: 
Error executing tag <g:render>: org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag <g:link>: java.lang.OutOfMemoryError: PermGen space
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag <g:render>:
org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException:
Error executing tag <g:link>: java.lang.OutOfMemoryError: PermGen space

最佳答案

大量 PermGen 空间需求是 Grails 在开发模式下提供的自动重新编译功能的结果。对于动态重新编译来说,增加 PermGen 空间是一个非常非常小的代价。在 Grails 生产模式下不会出现此问题。需要大的 PermGen 是因为 Java 将类信息存储在称为 PermGen 的内存部分中。该内存区域与堆和内存的其他部分完全不同。 (增加堆空间不会增加 PermGen 大小)。当 Grails 重新编译一个类时,它会导致一个新类被添加到 PermGen(而不是替换现有的类信息)。当您在开发模式中进行更多更改时,会消耗越来越多的 PermGen 内存。

关于java - Grails 和 PermGen 与 g :link and g:render 相关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com