2012-04-23 188 views
1

我已經爲java代碼編寫了測試。我試圖運行測試,但它失敗與錯誤說:不能在靜態TLS塊中分配內存

java.lang.unsatisfiedlinkerror: cannot allocate memory in static TLS block. 

我已經嘗試了很多的谷歌搜索。但從那裏沒有得到太多。有誰知道這個錯誤的原因和可能的解決方案?謝謝

+0

你的代碼是什麼樣的? – unholysampler 2012-04-23 12:48:20

+0

你在使用JNI庫嗎? – Perception 2012-04-23 13:01:34

回答

1

TLS是ThreadLocalStorage,它似乎是你試圖填充太多的ThreadLocal對象。 VM爲此爲每個線程預先分配內存。 AFAIK你不能自己調整它,我知道的調整線程內存消耗的唯一標誌是'-XX:ThreadStackSize =',並且不能保證這可以解決你的任何問題。 我能提供的最好是重寫你的代碼。