运行Tomcat失败并显示java.lang.OutOfMemoryError
- 与缺少PermGen空间相关的错误。
我最近将Tomcat改为以自己的用户身份运行(而不是root用户)。
我尝试将PermGen
中的CATALINA_OPTS
大小增加到512MB和1024MB,但似乎没有任何影响。
我还通过(暂时)为用户提供与root用户相同的限制来排除ulimit
限制。
答案 0 :(得分:0)
解决方案结果是缺少磁盘空间。
Tomcat和我们的应用程序日志/配置文件位于几乎已满的分区上。
随着分区变得完全填满,我们的日志框架开始抛出IOException
s尝试写入日志文件(而不是PermGen错误)。 IOEXceptions给了我解决问题所需的提示。运行df
表明分区已经完全填满。
将日志文件移动到另一个分区可以解决问题,并允许我们以自己的(非root用户)用户身份运行Tomcat。