Linux
打開文件過多錯誤,但僅在通過已安裝的磁碟訪問時
我遇到了一個問題,一旦我嘗試從 windows dfs 伺服器(Windows server 2012)上的已安裝單元複製某些內容,我會從 linux 收到“打開的文件太多”錯誤,但只有當我嘗試從中複製某些內容時安裝單元。
linux 伺服器是 Red Hat Enterprise Linux Server release 6.6 (Santiago),安裝是使用 util-linux-ng 2.17.2 中的 mount 完成的(支持 libblkid 和 selinux)。
我還將從我們的伺服器打開的文件和程序的 ulimit 提高到一個巨大的數量(2000000),當錯誤發生時,
lsof
文件/proc/sys/fs/file-nr
大約打開了 30000 個文件,但如果我嘗試訪問這個磁碟,我仍然會收到消息。錯誤突然發生,我無法重現它,但一旦重現,我可以檢查我是否能夠從 linux 自由複制和移動文件,但無法將某些內容從 dfs 伺服器複製到 linux。
我將不勝感激任何形式的幫助,我已嘗試查看所有日誌位置,但我無法在其中找到對“打開的文件過多”的單一引用。
回答我自己:
原因似乎是啟動的程序
init
沒有繼承與使用者相同的權限,問題來自 samba 或 nfs 服務(我們使用的是 CIFS,可能是相關的),我更改了這兩個服務 ulimit/etc/sysconfig/nfs/
並且/etc/sysconfig/samba
從那以後我們就沒有遇到問題了。