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最大拒絕 - 你能告訴我,這是怎麼回事嗎?或者它只與堆棧的大小有關? –