1

こんにちは、次のエラーに直面しています。これをグーグルで読んだことは、ネイティブメモリが不足していることです。これを解決するための助けをいただければ幸いです。私は32ビットのWindows 7を使用していることに注意してください。

java.lang.OutOfMemoryError: unable to create new native thread
        at java.lang.Thread.start0(Native Method)
        at java.lang.Thread.start(Thread.java:597)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.start(JIoEndpoint.java:478)
4

3 に答える 3

2

使用可能なメモリとは直接関係のないスレッドが不足しています。

特定のプラットフォーム上の Java で作成できるスレッドの数には上限があります (通常はオペレーティング システムによって指定されます)。

私の推測では、しばらくするとこのメッセージが表示され、正しく終了しないサーブレットがあると思います。

于 2013-03-25T06:44:39.653 に答える
0

そのため、スレッド数を制限しているメモリが不足している場合は、次の JVM オプションを使用して、各スレッドに関連付けられたスタック領域を調整できます。

-XX:ThreadStackSize=128k

デフォルトのスタック サイズは、32 ビットまたは 64 ビットのどちらの JVM を実行しているかによって、512k または 1024k (だと思います) です。

スレッドの数が不足している場合は、スレッドExecutorServiceプールまたは他のメカニズムを作成して、より少ないスレッドで多くのジョブを実行する必要がある場合があります。

詳細については、こちらのリンクを参照してください: 作成できるスレッド数の制限は?

于 2013-03-25T11:38:23.603 に答える
0

http://docs.oracle.com/javase/1.3/docs/tooldocs/solaris/java.html

java -Xmx オプションを見てください。ヒープ サイズを増やす必要がある場合があります。

于 2013-03-25T06:09:44.980 に答える