gpt4 book ai didi

java - -Xss JVM 选项的实际作用是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:16:01 24 4
gpt4 key购买 nike

从文档上看,-Xss是用来设置JVM栈大小的。但是我对这个说法很困惑。

在 Java 中,每个线程都有自己的堆栈。是否-Xss指定的数字:

  1. 所有线程可以用作堆栈的总内存?例如如果 -Xss 设置为 256K,所有线程将在这 256K 内存中创建自己的堆栈。

  2. 一个线程的每个堆栈的大小。例如如果 -Xss 设置为 256K,每个线程将有一个 256K 大的堆栈。因此 10 个线程将总共使用 2560K。

非常感谢。

编辑:

感谢您的回答。看起来是上面的 (2) senario。 -Xss 指定特定线程的最大堆栈大小。

然后我有一个后续问题:这些内存将分配到哪里?

我们可以使用-Xmx 和-Xms 指定保留的堆内存。是否会使用这些保留的内存分配堆栈?还是直接从native内存中分配?

最佳答案

这是每个线程的堆栈大小,引用 this page on the java command :

-Xsssize

Sets the thread stack size (in bytes)...

所以这是你问题的第二部分。但是,我认为总结所有线程堆栈大小通常并不准确。根据 JVM 实现,实际总堆栈大小可能不是 2560K。请注意 JVM 规范中的这句话:

This specification permits Java Virtual Machine stacks either to be of a fixed size or to dynamically expand and contract as required by the computation. If the Java Virtual Machine stacks are of a fixed size, the size of each Java Virtual Machine stack may be chosen independently when that stack is created.

关于java - -Xss JVM 选项的实际作用是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38242634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com