Solaris unix NLWP 限制
Solaris unix NLWP limit
我有一个关于在 unix solaris 上增加一个进程下的 NLWP 限制的问题。
假设一个 java 进程是 运行 并且如果我输入这样的命令
prstat
输出内容如下:
java/2000
这里有 2000 个是 NLWP。
那么我该如何增加或决定这个 NLWP 的限制呢?
他纳克
默认情况下,没有硬编码限制,但可能存在限制任务、项目或区域的线程数的设置。参见:
task.max-lwps, project.max-lwps and zone.max-lwps
否则,您可能会达到限制,具体取决于堆栈大小和使用的 jvm 类型。
如果出现内存不足错误,请切换到 64 位 JVM(如果尚未),如果与您的代码兼容,请尝试使用 -Xss
减小 java 堆栈大小选项,例如
-Xss128k
但要注意堆栈太小会导致 java.lang.WhosebugError 错误。
最后,如果您的 java 进程将自身限制为一定数量的线程,则您无法使用 JVM 或系统调整进行任何操作。查看代码或程序文档。
我有一个关于在 unix solaris 上增加一个进程下的 NLWP 限制的问题。
假设一个 java 进程是 运行 并且如果我输入这样的命令
prstat
输出内容如下:
java/2000
这里有 2000 个是 NLWP。 那么我该如何增加或决定这个 NLWP 的限制呢?
他纳克
默认情况下,没有硬编码限制,但可能存在限制任务、项目或区域的线程数的设置。参见:
task.max-lwps, project.max-lwps and zone.max-lwps
否则,您可能会达到限制,具体取决于堆栈大小和使用的 jvm 类型。
如果出现内存不足错误,请切换到 64 位 JVM(如果尚未),如果与您的代码兼容,请尝试使用 -Xss
减小 java 堆栈大小选项,例如
-Xss128k
但要注意堆栈太小会导致 java.lang.WhosebugError 错误。
最后,如果您的 java 进程将自身限制为一定数量的线程,则您无法使用 JVM 或系统调整进行任何操作。查看代码或程序文档。