フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:00_インストール・設定
java.lang.OutOfMemoryError: PermGen space が発生します。
[ 5212 ] java.lang.OutOfMemoryError: PermGen space が発生します。

10月よりGroupSessionを導入し、運用しているものです。

VMWare上の仮想サーバー(Windows2008R2 64bit)で実装メモリーを8Gで設定していますが、標題のエラーが発生するようになりました。

経緯としては、当初実装メモリーを4Gとしていましたが、「java.lang.OutOfMemoryError: PermGen space」のエラーが発生するようになり(Tomcatを再起動すると一旦は収まるのですが)、サポートページを見ながらメモリーの設定を行ったものの、1週間すると、また標題のエラーが出てくるようになったのです。

そこで、実装メモリーを8Gにし、Monitor Tomcat で以下のように設定しました。
Java Options:
-D-XX:MaxPermSize=1024m

Initial memory pool: 2048MB
Maxmum memory pool: 4096MB

2週間ぐらい問題ありませんでしたが、最近また出てくるようになりました。
やはり折を見てTomcatを再起動したほうがよいのでしょうか。

javaのメモリー設定でなんとかなるのなら設定で対応したいですし、一定期間にメモリー解放のためTomcatの再起動が必要ならば、もし、夜中にTomcatを再起動する設定をされている方がおられましたら、タスクスケジューラーなどでの設定方法ご教授ください。

以下にシステム情報およびエラー内容を添付させていただきます。

投稿者イントラネットで運用中
最新書き込み2012/11/20 17:57:12
[ 5213 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

2012-11-20 16:51:58,013 ERROR jp.groupsession.v2.struts.GSExceptionHandler:41 - 予期せぬエラー
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)

投稿者イントラネットで運用中
最新書き込み2012/11/20 17:59:31
[ 5214 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)

投稿者イントラネットで運用中
最新書き込み2012/11/20 18:00:12
[ 5215 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at jp.co.sjts.util.http.filter.FilterEncoding.doFilter(FilterEncoding.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

投稿者イントラネットで運用中
最新書き込み2012/11/20 18:00:43
[ 5216 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

Caused by: javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
at org.apache.jsp.WEB_002dINF.plugin.main.jsp.man250_jsp._jspService(man250_jsp.java:1235)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
... 54 more
Caused by: java.lang.OutOfMemoryError: PermGen space

です。
システム情報は以下のとおりです。
・Version 4.0.7 (4.0.7)
・OS Windows Server 2008 R2 amd64 6.1
・J2EEコンテナ Apache Tomcat/6.0.30
・Java 1.6.0_35 Sun Microsystems Inc.
・メモリ使用 2,482,096KB (61.2%)
・メモリ最大 4,054,528KB
・現在の空きディスク容量 101268MB

よろしくお願いいたします。

投稿者イントラネットで運用中
最新書き込み2012/11/20 18:02:16
[ 5217 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

パーマネント領域の設定が違っているのでは?

> Java Options:
> -D-XX:MaxPermSize=1024m

サポートページの記述:
-XX:MaxPermSize(パーマネント領域): 128(Java Optionsに追記)

投稿者サトウ
最新書き込み2012/11/20 18:22:37
[ 5218 ] Re: Re: java.lang.OutOfMemoryError: PermGen space が発生します。

サトウさま
さっそくの回答ありがとうございます。
"-D" これ?
どこか別のサイトを参考にしていたようです。
ご指摘ありがとうございました。
試してみます。

ほかの皆様はどれくらいの領域を確保していらっしゃるのでしょうか。
128Mでも十分なのでしょうか。



> パーマネント領域の設定が違っているのでは?
>
> > Java Options:
> > -D-XX:MaxPermSize=1024m
>
> サポートページの記述:
> -XX:MaxPermSize(パーマネント領域): 128(Java Optionsに追記)

投稿者イントラネットで運用中
最新書き込み2012/11/20 18:55:41
[ 5220 ] Re: java.lang.OutOfMemoryError: PermGen space が発生します。

200ユーザー程度で試用しています。
こちらOSはCentOSですので、以下のコマンドで設定しています。

export CATALINA_OPTS='-XX:MaxPermSize=256m -Xmx1024m -Xms512m -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP'

実装メモリは2GB、サポートページの説明をそのまま鵜呑みにした設定です。
電源設備点検等あり何年も連続稼働することはないですが、普通に1年は無停止で
使える雰囲気ですよ。

投稿者rev
最新書き込み2012/11/21 09:40:29
[ 5221 ] Re: Re: java.lang.OutOfMemoryError: PermGen space が発生します。

revさま

ご回答ありがとうございます。

そうですよねぇ。OSの違いはあれ2Gの実装で回答していただいた設定が基本になるのかなと。
すこしずつチューニングしながら試して行こうと思います。

> 200ユーザー程度で試用しています。
> こちらOSはCentOSですので、以下のコマンドで設定しています。
>
> export CATALINA_OPTS='-XX:MaxPermSize=256m -Xmx1024m -Xms512m -Dsun.nio.cs.map=x-windows-iso2022jp/ISO-2022-JP'
>
> 実装メモリは2GB、サポートページの説明をそのまま鵜呑みにした設定です。
> 電源設備点検等あり何年も連続稼働することはないですが、普通に1年は無停止で
> 使える雰囲気ですよ。
>

投稿者イントラネットで運用中
最新書き込み2012/11/21 12:28:15
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=1&threadSid=1749
 


TOP