在安裝Oracle Grid Infrastructure檢查約束時遇到一個錯誤,大體是說目前可開啟的檔案描述子的最大數為1024,而要求是65536。
於是在gird用戶下執行ulimit -a,顯示可開啟的最大檔案數為1024,這是預設值;執行ulimit -n 65536不允許修改,轉到root下面執行ulimit -n 65536,執行ulimit - a 顯示為65536,在grid用戶下執行仍為1024。當時想到用sudo的方式執行,對gird用戶賦予所有權限,執行ulimit -n 65536依然報錯。
後來想起在設定/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
看來是作用域的問題,增大檔案描述子。
以上是方法-增加Linux下可開啟檔案描述符的最大數的詳細內容。更多資訊請關注PHP中文網其他相關文章!