使用Weblogic版本:Weblogic 11g(10.3.6) 设置Weblogic的线程数有两种方法, 第一种,通过启动参数设置: -Dweblogic.threadpool.MinPoolSize=1000 -Dweblogic.threadpool.MaxPoolSize=1000
可以加在setDomainEnv.sh文件JAVA_OPTIONS下面; 第二种,通过config.xml配置文件: <self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min> <self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max>
Window环境下设置完应该直接重新启动就可以生效,Linux下,有可能会出现以下错误: Attempting to allocate 4G bytes
There is insufficient native memory for the Java
Runtime Environment to continue.
The system is out of physical RAM or swap space
In 32 bit mode, the process size limit was hit
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Use 64 bit Java on a 64 bit OS
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Disable compressed references (-XXcompressedRefs=false)
java.lang.OutOfMemoryError: Resource temporarily unavailable in tsStartJavaThread (lifecycle.c:1097).
Attempting to allocate 4G bytes
There is insufficient native memory for the Java
Runtime Environment to continue.
The system is out of physical RAM or swap space
In 32 bit mode, the process size limit was hit
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Use 64 bit Java on a 64 bit OS
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Disable compressed references (-XXcompressedRefs=false)
出现这个原因的问题可能是因为Linux下系统对用户的默认线程数做了限制,可以通过: ulimit -a
命令进行查看: core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 515223 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 1024 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
其中 max user processes (-u) 1024
表示当前系统允许的最大线程数,可以把此参数设大一些。 ulimit -u 5000
设置当前系统用户最大允许的线程数,只对本次会话有效,如果想要永久生效,可以通过修改: $ cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # See rhbz #432903 for reasoning.
只需要将1024改成你需要的值即可,设置完需要重启系统已生效。
|