[Seasar-user:21210] Re: アプリケーションサーバのCPU高騰
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2011年 12月 15日 (木) 03:24:45 JST
小林 (koichik) です.
> スレッドダンプを確認したところ、
> EvermindHttpServletRequest.setAttribute、
> EvermindHttpServletRequest.getAttribute
> が繰り返しコールされているスレッドが多数ありました。
HttpServletRequest は通常スレッド固有のものなので
同期化されませんが,複数のスレッドから利用することも
ないはずです.
本当に HttpServletRequest の get/setAttribute() で
CPU 高騰が発生しているなら,HttpServletRequest 自体の
使い方に問題があることになりますね.
自分でスレッド起動して HttpServletRequest を渡したり
していないか確認してみては?
On Wed, 14 Dec 2011 18:38:45 +0900, 市川 尚也 <[E-MAIL ADDRESS DELETED]> wrote:
> お世話になっております。
> n_ichikawa2000と申します。
>
> タイトルの件の問題が発生しており、
> 何かしら情報が得られればと思い投稿致します。
> こちらで質問するのは的外れかもしれませんが、宜しくお願いします。
>
> 【使用バージョン】
> s2-framework-2.4.17.jar
> s2-extension-2.4.17.jar
> s2-dao-1.0.46.jar
> teeda-core-1.0.11-SP1.jar
> teeda-extention-1.0.11-SP1.jar
>
> 【問題】
> 本番運用中に、OracleApplicationServerにて、CPU100%となりサーバがダウンしてしまう問題が発生。
> スレッドダンプを確認したところ、
> EvermindHttpServletRequest.setAttribute、
> EvermindHttpServletRequest.getAttribute
> が繰り返しコールされているスレッドが多数ありました。
>
> ※スレッドダンプ自体はネットワークを繋げられる環境ではない為、一文のみ記載しておきます。
>
> "AJPRequestHandler-RMICallHandler-620" prio=10 tid=0x5552 runnable[0x80c95000]
> java.lang.Thread.State:RUNNABLE
> at java.util.HashMap.get(HashMap.java:303)
> at com.evermind.server.http.EvermindHttpServletRequest.getAttribute(EvermindHttpServletRequst.java:3226)
> at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:127)
> at org.seaser.framework.container.external.servlet.ServletRequestMap.getAttribute(ServletRequestMap.java:46)
> at org.seaser.framework.container.external.AbstractExternalContextMap.put(AbstractExternalContextMap.java:97)
>
> 【検証状況】
> サポートからは、HashMapの使い方がスレッドセーフであるか確認して欲しいとの回答がありました。
> 当方で使用しているHashMapを洗い出しましたが、Collections.synchronizedMapで宣言しており、
> スレッドセーフであると言えると思われます。
> そのほかの発生原因には何が考えられますでしょうか。
> またそのほか、足りない情報があれば指摘して頂きたいです。
>
> 宜しくお願いします。
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
--
{
name: "Koichi Kobayashi",
mail: "[E-MAIL ADDRESS DELETED]",
blog: "http://d.hatena.ne.jp/koichik/",
twitter: "@koichik"
}
Seasar-user メーリングリストの案内