[Seasar-user:21209] アプリケーションサーバのCPU高騰

市川 尚也 [E-MAIL ADDRESS DELETED]
2011年 12月 14日 (水) 18:38:45 JST


お世話になっております。
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 メーリングリストの案内