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