2012-04-23 186 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 =',并且不能保证这可以解决你的任何问题。 我能提供的最好是重写你的代码。