誰でも、default XSS sizes
Sun/Oracle JVMのさまざまなバージョン、および異なるOSの場合
jrockit jdk 5.0 docs でこの表を見つけることができましたが、これは「通常の」Sun/Oracle JVMを使用している人には役立ちません。
XSS
の値はOS(およびJVMバージョン)によって異なるため、最近のすべての組み合わせをリストしたドキュメントはないかもしれません。しかし、ここの読者が、少なくともeachJVMバージョン(または少なくとも1.6および1.5)のデフォルトXSS値のみをリストする個々のドキュメントを知っている場合、またはsomeOSのみの場合でも、それは素晴らしい出発点です。
これが価値がある理由は、XSS
値を変更することで誰かが問題を解決できると人々が推奨する(間違っていると思う)ことが多いからです。しかし、デフォルトがわからない場合は、誰かが推奨する変更によって値を上げているのか下げているのかを知る方法はありません。彼らは一般的に彼らがいるバージョン/ OSを示していないので、彼らの提案があなたを「助ける」かどうかは不幸なことです。
いくつかのドキュメントよりも優れています。JVMにクエリを実行して現在の値を取得する方法を知っている人は、コマンドラインからでもAPI呼び出しからでも、さらに価値があります。ありがとう。
試してください:
Java -XX:+PrintFlagsFinal -version | grep ThreadStackSize
この情報は、Oracle Hotspotに表示されるようになりましたFAQ http://www.Oracle.com/technetwork/Java/hotspotfaq-138619.html#threads_oom
スレッドのデフォルトのスタックサイズに問題が発生している可能性があります。 Java SE 6では、Sparcのデフォルトは32ビットVMで512k、64ビットVMで1024kです。x86Solaris/Linuxでは32ビットで320k = VMおよび64ビットVMでは1024k。
Windowsでは、デフォルトのスレッドスタックサイズはバイナリ(Java.exe)から読み取られます。 Java SE 6の時点で、この値は32ビットで320k VMおよび64ビットVMで1024kです。
-Xssオプションを使用して実行すると、スタックサイズを縮小できます。例えば:
Java -server -Xss64k
Windowsの一部のバージョンでは、OSが非常に粗い粒度を使用してスレッドスタックサイズを切り上げることに注意してください。要求されたサイズがデフォルトサイズよりも1K以上小さい場合、スタックサイズはデフォルトに切り上げられます。それ以外の場合、スタックサイズは1 MBの倍数に切り上げられます。
64kは、スレッドごとに許可されるスタックスペースの最小量です。
見つけることができます Oracleサイトで 「-XX:ThreadStackSize」オプションの下で-Xssと同じ意味です。
ホットスポットの場合は、アーキテクチャとそうでないものに依存します。
デフォルトのスタックサイズは、特定のプラットフォームに関連するヘッダーファイルのソースコードで確認できます。
googleコード検索(編集:このサービスは、この回答が行われた後、残念ながら無効になっています)更新:ここに新しいリンクがありますネベルマンから: Openjdkソース:globals_windows_x86.hpp
これが役立つかどうかはわかりませんが、その始まりです
IBM Java 6ユーザーガイド( source )から利用可能なデフォルト設定があります。
Xss <サイズ>for Javaスレッド32ビット:
AIX®: 256KB
IBM®I: 256KB
Linux: 256KB
Windows: 256KB
z/OS®: 256KB