编程语言
首页 > 编程语言> > java – Xss为1个线程设置线程堆栈大小,所有线程堆栈大小的限制是什么

java – Xss为1个线程设置线程堆栈大小,所有线程堆栈大小的限制是什么

作者:互联网

我知道如何使用-Xss为java线程设置堆栈大小,我们在产品中使用它.

但是当我们的应用程序中使用了大量线程时,并且设置了-Xss(我们将其设置为512k).我们将遇到错误报告无法创建新的本机线程.
  它应该与堆栈大小有关,因为当我们设置-Xss256k时,错误消失了.

我的问题是1个线程,Xss设置堆栈大小,但是所有线程堆栈大小怎么样?
整个Thread的总堆栈内存大小有什么限制?
我没有找到这样的JVM设置,而我们现在似乎遇到了这样的问题.

解决方法:

-Xss设置为每个新线程的堆栈保留的默认虚拟内存量. (也就是说,对于每个没有通过其构造函数给出显式堆栈大小的新线程.)

没有选项可以限制所有线程的组合堆栈大小.

如果将-Xss从512K设置为256K使程序能够创建更多线程,那么您的程序必须创建大量线程.

所有这些线程都在做什么?

您确定在线程池中使用有限数量的线程无法解决问题吗?

标签:java,stack,multithreading,jvm-arguments
来源: https://codeday.me/bug/20190623/1272760.html