1

そのため、アプリケーションが時折 100% の CPU を消費する理由を突き止めようとして行き詰まってしまいました。私はいくつかの非常に役立つstackovertflowの投稿を読みましたが、安全を期すために、アドバイス...ガイダンス...支援...何でも受けたいと思います。実際にこれが起こるのは、スタック トレースを調べた経験不足です。誰かがここで考えられる犯人を指摘し、そのポインタを示してくれれば、これをよりよく理解できると本当に感謝しています.

注目すべきスレッド (私にはそう思われる) は、モニターを待っているスレッドです。

これらのスレッドのうち 4 つを一貫して取得します jndi-0 - jndi-4

    "jndi-0" prio=6 tid=0x000000001113e000 nid=0x187c モニター エントリを待機中 [0x0000000012a9f000]
       java.lang.Thread.State: BLOCKED (オブジェクト モニター上)
        java.net.PlainSocketImpl.accept (PlainSocketImpl.java:388) で
        - ロック待ち (java.net.SocksSocketImpl)
        java.net.ServerSocket.implAccept (ServerSocket.java:453) で
        java.net.ServerSocket.accept (ServerSocket.java:421) で
        jrun.servlet.network.NetworkService.accept (NetworkService.java:356) で
        jrun.naming.NamingNetworkService.accept (NamingNetworkService.java:115) で
        jrun.naming.NamingNetworkService.createRunnable (NamingNetworkService.java:141) で
        jrunx.scheduler.ThreadPool$DownstreamMetrics.createRunnable(ThreadPool.java:287) で
        jrunx.scheduler.ThreadPool$ThreadThrottle.createRunnable(ThreadPool.java:349) で
        jrunx.scheduler.ThreadPool$UpstreamMetrics.createRunnable(ThreadPool.java:241) で
        jrunx.scheduler.WorkerThread.run (WorkerThread.java:62) で
       ロックされた所有可能なシンクロナイザー:
        - なし
    "jrpp-298" prio=6 tid=0x0000000014730800 nid=0xdd4 モニター エントリを待機中 [0x000000001cc4b000]
       java.lang.Thread.State: BLOCKED (オブジェクト モニター上)
        coldfusion.runtime.LocalScope.put (LocalScope.java:247) で
        - ロック待ち (coldfusion.runtime.VariableScope)
        coldfusion.runtime.NeoPageContext.SymTab_setValidatedSimpleName (NeoPageContext.java:1339) で
        coldfusion.runtime.NeoPageContext.SymTab_setValidatedDottedName (NeoPageContext.java:1297) で
        coldfusion.runtime.NeoPageContext.setValidatedAttribute (NeoPageContext.java:524) で
        coldfusion.runtime.NeoPageContext.setAttribute (NeoPageContext.java:392) で
        coldfusion.runtime.CfJspPage._set(CfJspPage.java:369) で
        cfmathFunctions2ecfm1090027769$funcREDUCEBARBASE.runFunction (C:\SIWEB\cfw\controllers\ContentLogic\mathFunctions.cfm:711) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:192) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2471) で
        Statement26069.evaluate で (:1)
        coldfusion.compiler.ExprClassLoader.evaluate (ExprClassLoader.java:143) で
        coldfusion.runtime.CFPage.Evaluate (CFPage.java:1726) で
        cfContentLogic2ecfc1938419849$funcEVALUATEFUNCTIONSTRING.runFunction (C:\SIWEB\cfw\controllers\ContentLogic.cfc:479) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfContentLogic2ecfc1938419849$funcFINDANDEVALUATE.runFunction (C:\SIWEB\cfw\controllers\ContentLogic.cfc:528) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:192) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2471) で
        cfContentLogic2ecfc1938419849$funcPREPAREDANSWERSBYQUESTIONIDQGID.runFunction (C:\SIWEB\cfw\controllers\ContentLogic.cfc:340) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfContentLogic2ecfc1938419849$funcPROCESSDYNAMICITEMBYQUESTIONIDQGID.runFunction (C:\SIWEB\cfw\controllers\ContentLogic.cfc:69) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.TemplateProxy.invoke (TemplateProxy.java:453) で
        coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:320) で
        coldfusion.runtime.CfJspPage._invoke (CfJspPage.java:2222) で
        cfitemPackaging2ecfm1230617345$funcPREPAREDITEMBYQUESTIONIDQGID.runFunction (C:\SIWEB\cfw\controllers\ProtectedBusinessLogic\itemPackaging.cfm:693) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfitemPackaging2ecfm1230617345$funcPREPAREDITEMSANDPASSAGESSTRUCTBYQGID.runFunction (C:\SIWEB\cfw\controllers\ProtectedBusinessLogic\itemPackaging.cfm:408) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfitemPackaging2ecfm1230617345$funcPREPAREDITEMSANDPASSAGESSTRUCTBYQGIDS.runFunction (C:\SIWEB\cfw\controllers\ProtectedBusinessLogic\itemPackaging.cfm:73) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.TemplateProxy.invoke (TemplateProxy.java:453) で
        coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:320) で
        coldfusion.runtime.CfJspPage._invoke (CfJspPage.java:2222) で
        cfpracticesession2ecfm1218050444$funcPRACTICESESSION.runFunction (C:\SIWEB\cfw\controllers\Test\practicesession.cfm:272) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        coldfusion.tagext.lang.InvokeTag.doEndTag (InvokeTag.java:432) で
        coldfusion.runtime.CfJspPage._emptyTcfTag (CfJspPage.java:2662) で
        cfcfml2ecfm667848367$func$INVOKE.runFunction (C:\SIWEB\cfw\wheels\global\cfml.cfm:177) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfprocessing2ecfm76711320$func$CALLACTION.runFunction (C:\SIWEB\cfw\wheels\controller\processing.cfm:85) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:463) で
        coldfusion.runtime.CfJspPage._invokeUDF (CfJspPage.java:2436) で
        cfprocessing2ecfm76711320$func$PROCESSACTION.runFunction (C:\SIWEB\cfw\wheels\controller\processing.cfm:60) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:192) で
        coldfusion.runtime.TemplateProxy.invoke (TemplateProxy.java:448) で
        coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308) で
        coldfusion.runtime.CfJspPage._invoke (CfJspPage.java:2272) で
        cfrequest2ecfm104933708$func$REQUEST.runFunction (C:\SIWEB\cfw\wheels\dispatch\request.cfm:166) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.filter.SilentFilter.invoke(SilentFilter.java:47) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:192) で
        coldfusion.runtime.TemplateProxy.invoke (TemplateProxy.java:448) で
        coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308) で
        coldfusion.runtime.CfJspPage._invoke (CfJspPage.java:2272) で
        cfindex2ecfm812783003.runPage (C:\SIWEB\cfw\wheels\index.cfm:1) で
        coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196) で
        coldfusion.tagext.lang.IncludeTag.doStartTag (IncludeTag.java:370) で
        coldfusion.runtime.CfJspPage._emptyTcfTag (CfJspPage.java:2661) で
        cfrewrite2ecfm453288076.runPage (C:\SIWEB\cfw\rewrite.cfm:1) で
        coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:196) で
        coldfusion.tagext.lang.IncludeTag.doStartTag (IncludeTag.java:370) で
        coldfusion.runtime.CfJspPage._emptyTcfTag (CfJspPage.java:2661) で
        cfonrequest2ecfm951311187$funcCONREQUEST.runFunction (C:\SIWEB\cfw\wheels\events\onrequest.cfm:1) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:418) で
        coldfusion.runtime.UDFMethod$ReturnTypeFilter.invoke(UDFMethod.java:360) で
        coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:324) で
        coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:59) で
        coldfusion.runtime.UDFMethod.runFilterChain (UDFMethod.java:277) で
        coldfusion.runtime.UDFMethod.invoke (UDFMethod.java:192) で
        coldfusion.runtime.TemplateProxy.invoke (TemplateProxy.java:448) で
        coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:308) で
        coldfusion.runtime.AppEventInvoker.invoke (AppEventInvoker.java:74) で
        coldfusion.runtime.AppEventInvoker.onRequest (AppEventInvoker.java:243) で
        coldfusion.filter.ApplicationFilter.invoke (ApplicationFilter.java:269) で
        coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) で
        coldfusion.filter.MonitoringFilter.invoke (MonitoringFilter.java:40) で
        coldfusion.filter.PathFilter.invoke(PathFilter.java:86) で
        coldfusion.filter.ExceptionFilter.invoke (ExceptionFilter.java:70) で
        coldfusion.filter.ClientScopePersistenceFilter.invoke (ClientScopePersistenceFilter.java:28) で
        coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) で
        coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) で
        coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) で
        coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) で
        coldfusion.filter.RequestThrottleFilter.invoke (RequestThrottleFilter.java:126) で
        coldfusion.CfmServlet.service (CfmServlet.java:175) で
        coldfusion.bootstrap.BootstrapServlet.service (BootstrapServlet.java:89) で
        jrun.servlet.FilterChain.doFilter(FilterChain.java:86) で
        com.intergral.fusionreactor.filter.FusionReactorFilter.k (FusionReactorFilter.java:636) で
        com.intergral.fusionreactor.filter.FusionReactorFilter.d (FusionReactorFilter.java:266) で
        com.intergral.fusionreactor.filter.FusionReactorFilter.doFilter(FusionReactorFilter.java:171) で
        jrun.servlet.FilterChain.doFilter(FilterChain.java:94) で
        coldfusion.monitor.event.MonitoringServletFilter.doFilter (MonitoringServletFilter.java:42) で
        coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) で
        jrun.servlet.FilterChain.doFilter(FilterChain.java:94) で
        jrun.servlet.FilterChain.service(FilterChain.java:101) で
        jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) で
        jrun.servlet.JRunInvokerChain.invokeNext (JRunInvokerChain.java:42) で
        jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) で
        jrun.servlet.ServletEngineService.dispatch (ServletEngineService.java:543) で
        jrun.servlet.jrpp.JRunProxyService.invokeRunnable (JRunProxyService.java:203) で
        jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) で
        jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) で
        jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) で
        jrunx.scheduler.WorkerThread.run (WorkerThread.java:66) で
       ロックされた所有可能なシンクロナイザー:
        - なし

    トレース時間: 10:50:51.504 2012 年 9 月 18 日スレッド ID: 0x19 (25) スレッド名: jndi-3優先度: 5ハッシュコード: 290417686状態: RUNNABLE"jndi-3" prio=5 runnablejava.net.PlainSocketImpl.socketAccept(PlainSocketImpl.java :???)[ネイティブメソッド]java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)java.net.ServerSocket.implAccept(ServerSocket.java:453)java.net.ServerSocket.accept(ServerSocket.java:421) )jrun.servlet.network.NetworkService.accept(NetworkService.java:356)jrun.naming.NamingNetworkService.accept(NamingNetworkService.java:115)jrun.naming.NamingNetworkService.createRunnable(NamingNetworkService.java:141)jrunx.scheduler.ThreadPool $DownstreamMetrics.createRunnable(ThreadPool.java:287)jrunx.scheduler.ThreadPool$ThreadThrottle.createRunnable(ThreadPool.java:349)jrunx.scheduler.ThreadPool$UpstreamMetrics.createRunnable(ThreadPool.java:241)jrunx.scheduler.WorkerThread.run(WorkerThread.java:62)

4

1 に答える 1

0

JVisualVM を試すことをお勧めします。これは、スレッドをソートするのに最適です。もう 1 つの適切なオプションは、Eclipse を使用することです。これにより、デバッグ モードでも個々のスレッドをステップ実行できます。

于 2012-10-04T21:04:07.250 に答える