In der Dokumentation wird -Xss zum Festlegen der Stapelgröße von JVM verwendet. Aber ich bin sehr verwirrt über diese Aussage.Was macht die Option -Xss JVM eigentlich?
In Java hat jeder Thread seinen eigenen Stack. Enthält die durch -Xss angegebene Nummer:
Der Gesamtspeicher, der von allen Threads als Stack verwendet werden kann? z.B. Wenn -Xss auf 256 KB festgelegt ist, erstellen alle Threads innerhalb dieser 256 KB Speicher einen eigenen Stack.
Die Größe jedes Stapels eines Threads. z.B. Wenn -Xss auf 256K gesetzt ist, hat jeder Thread einen Stack von 256K big. Daher wird 10 Thread insgesamt 2560K verwenden.
Vielen Dank.
EDIT:
Danke für Ihre Antworten. Es sieht so aus als wäre es das (2) Senario oben. -Xss gibt die größte Stapelgröße eines bestimmten Threads an.
Dann habe ich eine Follow-up-Frage: Wo wird dieser Speicher zugewiesen werden?
Wir können den reservierten Heap-Speicher mit -Xmx und -Xms angeben. Wird der Stack mit diesem reservierten Speicher zugeordnet? Oder es wird direkt aus dem nativen Speicher zugeordnet?
[Diese Antwort] (http://stackoverflow.com/a/17167720/3788176) besagt, dass ein Synonym "-XX: ThreadStackSize" ist, was bedeutet, dass es pro Thread ist. –
https://stackoverflow.com/questions/4967885/jvm-option-xss-what-does-it-do-exactly –