catalina.2012-06-06.log错误日志:
2012-6-6 9:51:21 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Invalid chunk ignored.
2012-6-6 9:52:23 org.apache.tomcat.util.net.JIoEndpoint processSocket
严重: Error allocating socket processor
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)
at org.apache.tomcat.util.net.JIoEndpoint.newWorkerThread(JIoEndpoint.java:697)
at org.apache.tomcat.util.net.JIoEndpoint.createWorkerThread(JIoEndpoint.java:676)
at org.apache.tomcat.util.net.JIoEndpoint.getWorkerThread(JIoEndpoint.java:708)
at org.apache.tomcat.util.net.JIoEndpoint.processSocket(JIoEndpoint.java:743)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:320)
at java.lang.Thread.run(Thread.java:619)JVM启动参数设置:
JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryErrortomcat使用的内存只有400M左右,请问这是什么问题呢?

解决方案 »

  1.   

    这个问题,记得是有说法的:你给JVM内存越多,那么你能创建的线程越少,越容易发生:
    java.lang.OutOfMemoryError: unable to create new native thread。 参见:
    http://sesame.iteye.com/blog/622670
    话说,你到底创建了多少线程啊
      

  2.   

    操作系统对于一个进程中的线程数是有限制的默认情况下 Windows 是 2000,Linux 是 1000。当然了,可以通过一些参数进行调整。