超图FAQ: SuperMap iServer 中,线程池中创建线程时会在操作系统里创建一个真正的物理线程,在某些内存小的机器上,当发布的数据量大、访问量大时,因处理高并发的请求,操作系统创建物理线程所需的内存空间会跟 Java 虚拟机堆产生内存竞争,由此导致线程创建失败(iServer 32位安装包默认分配的最大的 Java 虚拟机内存为512M,最大线程数为300)。可通过如下方式解决:
(1) 减少分配给 java 虚拟机的内存;修改 Java 虚拟机参数,例如在 windows 版的 iServer 包中,修改 %SuperMap iServer_HOME%/bin/catalina.bat 中的 JAVA_OPTS,设置 -Xmx512m 为更小值;
(2) 减少 tomcat 连接池的活动线程数;修改 %SuperMap iServer_HOME%/conf/server.xml 中,节点的 maxThreads 为更小值。