问题描述:
<-- 上午10时20分01秒 CST> <Critical> <WebLogicServer> <BEA-> <Server subsystem failed. Reason:
java.lang.OutOfMemoryError: unable to create new native threadjava.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start0(Native Method)
at java.lang.Thread.start(Thread.java:)
at weblogic.work.RequestManager.startThread(RequestManager.java:)
at weblogic.work.RequestManager.createThreadAndExecute(RequestManager.java:)
at weblogic.work.RequestManager.createIdleThreads(RequestManager.java:)
at weblogic.work.RequestManager.incrPoolSize(RequestManager.java:)
at weblogic.work.RequestManager$Factory.<clinit>(RequestManager.java:)
weblogic创建过多线程,不能创建线程默认1024的限制 分析原因:
weblogic属于非root账户存在资源限制
max_thread
open_file
... 解决:
vi /etc/security/limits.d/-nproc.conf
* soft nproc #修改大些
root soft nproc unlimite cat /etc/security/limits.d/-nproc.conf
* soft nproc 65535 #max thread
* hard nofile 65535 #max openfile
root soft nproc unlimite
总结对linux的性能优化:
优化网络端口复用
优化对线程、打开文件的限制