Linux下可打开文件描述符的比较大数如何增大

在安装Oracle Grid Infrastructure检查约束时遇到一个错误 , 大体是说当前可打开的文件描述符的比较大数为1024 , 而要求是65536 。Linux下可打开文件描述符的比较大数如何增大?


于是在gird用户下执行ulimit -a , 显示可打开的比较大文件数为1024 , 这是默认值;执行ulimit -n 65536不允许修改 , 转到root下面执行ulimit -n 65536 , 执行ulimit -a 显示为65536 , 在grid用户下执行依然为1024 。当时想到用sudo的方式执行 , 对gird用户赋予所有权限 , 执行ulimit -n 65536依然报错 。
【Linux下可打开文件描述符的比较大数如何增大】后来想起在配置/etc/profile文件里 , 对oracle有ulimit -n 65536的命令 , 如下:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
添加grid用户后 , source /etc/profile
if [ $USER = "oracle" ] || [ $USER = "grid" ] ; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
在grid执行ulimit -a依然为1024 , 后来检查安装步骤发现忘了在/etc/security/limits中添加grid用户了 , 添加下面即可:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
看来是作用域的问题 , 增大文件描述符 。

    推荐阅读