(1)Linux内核对一个文件被打开数有限制,所以我们需要修改一个系统配置文件;
A、改进用户的有关 nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)
# vi /etc/security/limits.conf
# 添加如下的行
引用:* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
B、要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
查看 /etc/pam.d/login 文件中有:
session required /lib/security/pam_limits.so
(2)WebLogic Java进程对打开文件数也有限制,仅仅系统还不够,还要修改Weblogic的初始化参数脚本./weblogic92/common/bin/commEnv.sh。如下:
引用:maxfiles=`ulimit -H -n`
if [ "$?" = "0" -a `expr ${maxfiles} : '[0-9][0-9]*$'` -eq 0 ]; then
ulimit -n 1024 (放大它到32768)
fi
经过上述两个参数的修改,重启WebLogic应用及Linux机器,系统没有再报open too many files的错误了。

