0
我有一个关于在unix solaris上的一个进程下增加NLWP限制的问题。Solaris unix NLWP限制
假设一个java程序正在运行,并且如果我喜欢这个
prstat
键入命令它使输出与以下内容:
的java/2000
这里2000是NLWP 。 那么如何增加或决定NLWP的这个限制?
Thanak
我有一个关于在unix solaris上的一个进程下增加NLWP限制的问题。Solaris unix NLWP限制
假设一个java程序正在运行,并且如果我喜欢这个
prstat
键入命令它使输出与以下内容:
的java/2000
这里2000是NLWP 。 那么如何增加或决定NLWP的这个限制?
Thanak
默认情况下,没有硬编码限制,但有可能是上限标准杆的任务,项目或区域的线程数的设置。请参阅:
task.max-lwps, project.max-lwps and zone.max-lwps
否则,你可能会达到取决于堆栈大小和所用的JVM的限制。
如果出现内存不足错误,请切换到64位JVM(如果尚未存在),并且如果与您的代码兼容,请尝试使用-Xss
选项来减小java堆栈大小。
-Xss128k
但要注意太小的堆栈导致java.lang.StackOverflowError错误。最后,如果你的java进程将自己限制在一定数量的线程中,那么你就无法使用JVM或系统调优。看看代码或程序文档。
是的。我们在64位JVM上运行。我们有以下设置。 -Xss256k -XX:+ UseLargePages -XX:LargePageSizeInBytes = 256m。你可以详细说明task.max-lwps,project.max-lwps和zone.max-lwps吗?我在哪里可以更改/检查这个。? –
这已经超出了stackoverflow的范围,但是看看'prctl'输出和https://docs.oracle.com/cd/E19044-01/sol.containers/817-1592/rmctrls.task-3/index .html的首发。 –
jlliagre
谢谢。它显示相同的 - 2.15G。 project.max-lwps 系统2.15G最大拒绝 - 你能告诉我,这是怎么回事吗?或者它只与堆栈的大小有关? –