'Not enough storage is available to process this command' thrown when using jstack to generate external thread dumps

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

問題

You may be instructed by Atlassian Support to generate a thread dump using the jstack tool on a Windows platform.  This error is thrown when trying to execute the command.

原因

Jstack only allows you to connect to JVM's running in the same user context.  Many people use a service wrapper to start their products: this puts the JVM in the Local System Account user context.  Since this special account has no login shell, you won't be able to force a thread dump normally.

回避策

Workaround 1:

Change the service wrapper to use another account.  Do this from Services>Apache Tomcat Confluence>Properties.

Workaround 2:

Use Psexec to execute the jstack command as the relevant user.  

psexec -s "%JAVA_HOME%\bin\jstack.exe" PID >stack.txt 

Workaround 3:

Follow the Live Monitoring Using the JMX Interface directions and set up a JMX monitoring tool like visualVM acting remotely on the JVM.  Many of these tools can generate thread dumps externally.



最終更新日: 2016 年 2 月 23 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.