Linux

打開文件過多錯誤,但僅在通過已安裝的磁碟訪問時

  • April 7, 2022

我遇到了一個問題,一旦我嘗試從 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從那以後我們就沒有遇到問題了。

引用自:https://unix.stackexchange.com/questions/694628