[mayaa-user:1029] Re: mayaaのメモリリークにつきまして

Hara Hara [E-MAIL ADDRESS DELETED]
2014年 4月 25日 (金) 11:48:00 JST


suga様

ありがとうございます。
以前のML確認させていただきましたが、
同様の現象が報告されていましたが最終的な解決に至ったかどうかが分かりませんでした。

わたくしの環境ではサイトのトラフィックが多い時はTomcat起動後1日で
NamespaceImpl.getInstanceで待っているスレッドが40以上ある状態で
CPU使用率が60%を超え、ページ表示に10-30秒かかっていました。

環境は
・mayaa-1.1.32
・java version "1.6.0_24"
 OpenJDK Runtime Environment (IcedTea6 1.11.14) (amazon-65.1.11.14.57.amzn1-x86_64)
 OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
・Tomcat/7.0.47

で、サーバーのメモリは3G積んでおり、
mayaaの設定は

<engine>
    <parameter name="pageSerialize" value="true"/>
    <parameter name="surviveLimit" value="1"/>
</engine>

としております。

スレッドの優先度の問題ではないかとのご回答もありましたが、
ダンプを見ると全て優先度は同じ10となっていて、
他に優先度が高いものはみあたりませんでした。
上記のCPU60%の時のスレッドダンプを添付させていただきました。
お忙しいところ大変申し訳ございません、
解消のためのアドバイスをいただけますよう、何卒よろしくお願いいたします。

Date: Fri, 25 Apr 2014 06:57:27 +0900
From: ko.suga @ gmail.com
To: mayaa-user @ ml.seasar.org
Subject: [mayaa-user:1028] Re:	mayaaのメモリリークにつきまして

sugaです。
これ自体は単にsynchronizedの待ちなので正常にありえます。同じオブジェクトを延々待ち続けているとかなら問題の可能性はありますが。


2014年4月24日木曜日、Hara Hara<iso_hara @ hotmail.com>さんは書きました:




suga様

いつもお世話になっております。
大変申し訳ございません、メモリリークではなく無限ループですね・・・
確認したところ、insertタグでnameを指定していないところがあり、
それがループしていたようです。
お忙しいところお手間と取らせてしまい申し訳ございません。

大変恐縮ですが、もう一点ご教示いただけますでしょうか。
稀にページ表示に30秒ちかくかかることがあり、そういう場合に下記のような状態のスレッドが

幾つか存在しているのですが、これは問題ないでしょうか。

   java.lang.Thread.State: BLOCKED (on object monitor)
    at org.seasar.mayaa.impl.engine.specification.NamespaceImpl.getInstance(NamespaceImpl.java:54)
    - waiting to lock <0x00000000c6fcc808> (a org.seasar.mayaa.impl.util.ReferenceCache)

    at org.seasar.mayaa.impl.engine.specification.NamespaceImpl.copyOf(NamespaceImpl.java:77)

どうぞよろしくお願いいたします。

> Date: Wed, 23 Apr 2014 07:59:12 +0900
> From: ko.suga @ gmail.com

> To: mayaa-user @ ml.seasar.org
> Subject: [mayaa-user:1025] Re:	mayaaのメモリリークにつきまして
> 
> suga です。

> 
> まず、subjectにメモリリークとありますが、メモリリークだと判断した
> 理由は何でしょうか。文面にある情報からでは分かりませんが。
> 
> InsertProcessor があるのでどこかで m:insert を使っているようですが、
> 循環してはいないでしょうか。
> 
> 
> --
> suga ( ko.suga @ gmail.com )

> 
> 
> 2014-04-23 0:21 GMT+09:00 Hara Hara <iso_hara @ hotmail.com>:
> > お世話になっております。 石川と申します。
> >
> > Tomcat7+JDK6で稼働中のアプリで、スレッドダンプを取った時に下記のログが
> > 出力されます。

> >
> > "http-bio-8083-exec-5" daemon prio=10 tid=0x00007f035c0d4800 nid=0x6ecb
> > runnable [0x00007f039cc1a000]
> >    java.lang.Thread.State: RUNNABLE
> >     at java.util.HashMap.getEntry(HashMap.java:364)

> >     at java.util.HashMap.containsKey(HashMap.java:352)
> >     at
> > org.seasar.mayaa.impl.cycle.script.rhino.PageAttributeScope.has(PageAttributeScope.java:83)
> >     at
> > org.seasar.mayaa.impl.cycle.script.rhino.PageAttributeScope.findScope(PageAttributeScope.java:140)

> >     at
> > org.seasar.mayaa.impl.cycle.script.rhino.PageAttributeScope.hasAttribute(PageAttributeScope.java:148)
> >     at
> > org.seasar.mayaa.impl.cycle.CycleUtil.findStandardAttributeScope(CycleUtil.java:149)

> >     at
> > org.seasar.mayaa.impl.cycle.script.rhino.NativeServiceCycle.get(NativeServiceCycle.java:75)
> >     at
> > org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:1617)

> >     at
> > org.mozilla.javascript.ScriptRuntime.nameOrFunction(ScriptRuntime.java:1746)
> >     at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1697)

> >     at org.mozilla.javascript.gen.c83128._c0(☆☆☆.mayaa#attribute:83)
> >     at org.mozilla.javascript.gen.c83128.call(☆☆☆.mayaa#attribute)
> >     at
> > org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:398)

> >     at
> > org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3065)
> >     at org.mozilla.javascript.gen.c83128.call(☆☆☆.mayaa#attribute)
> >     at org.mozilla.javascript.gen.c83128.exec(☆☆☆.mayaa#attribute)

> >         at
> > org.seasar.mayaa.impl.cycle.script.rhino.TextCompiledScriptImpl.normalExecute(TextCompiledScriptImpl.java:126)
> >     at
> > org.seasar.mayaa.impl.cycle.script.rhino.TextCompiledScriptImpl.execute(TextCompiledScriptImpl.java:166)

> >     at
> > org.seasar.mayaa.impl.cycle.script.ComplexScript.execute(ComplexScript.java:55)
> >     at
> > org.seasar.mayaa.impl.engine.processor.AttributeProcessor$ScriptWrapper.execute(AttributeProcessor.java:279)

> >     at
> > org.seasar.mayaa.impl.engine.processor.AttributeProcessor$EscapableScript.execute(AttributeProcessor.java:209)
> >     at
> > org.seasar.mayaa.impl.engine.processor.ElementProcessor.appendAttributeString(ElementProcessor.java:308)

> >     at
> > org.seasar.mayaa.impl.engine.processor.ElementProcessor.writePart2(ElementProcessor.java:372)
> >     at
> > org.seasar.mayaa.impl.engine.processor.ElementProcessor.writeStartElement(ElementProcessor.java:431)

> >     at
> > org.seasar.mayaa.impl.engine.processor.AbstractAttributableProcessor.processEnd(AbstractAttributableProcessor.java:237)
> >     at
> > org.seasar.mayaa.impl.engine.processor.ElementProcessor.processEnd(ElementProcessor.java:459)

> >     at
> > org.seasar.mayaa.impl.engine.processor.AbstractAttributableProcessor.doEndProcess(AbstractAttributableProcessor.java:220)
> >     at
> > org.seasar.mayaa.impl.engine.RenderUtil.renderTemplateProcessor(RenderUtil.java:158)

> >     at
> > org.seasar.mayaa.impl.engine.RenderUtil.renderTemplateProcessorChildren(RenderUtil.java:209)
> >     at
> > org.seasar.mayaa.impl.engine.RenderUtil.renderTemplateProcessor(RenderUtil.java:147)

> >     at
> > org.seasar.mayaa.impl.engine.processor.ComponentRenderer.renderTemplate(ComponentRenderer.java:70)
> >     at
> > org.seasar.mayaa.impl.engine.RenderUtil.renderP 		 	   		  



-- 
-- 
suga ( ko.suga @ gmail.com )


_______________________________________________
mayaa-user mailing list
mayaa-user @ ml.seasar.org
https://ml.seasar.org/mailman/listinfo/mayaa-user 		 	   		  
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/mayaa-user/attachments/20140425/11a3c32c/attachment.html>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: catalina.tgz
型:         application/x-compressed
サイズ:     8749 バイト
説明:       無し
URL:        <http://ml.seasar.org/archives/mayaa-user/attachments/20140425/11a3c32c/attachment.bin>


mayaa-user メーリングリストの案内