Linux中修改開啟檔案的數量限制

千鋒IT教育發表於2022-12-28

在 Linux中你可以更改開啟檔案的最大數量。你可以使用ulimit命令。它使你能夠控制可用於 shell 或由它啟動的程式的資源。

查詢 Linux 開啟檔案限制

# cat /proc/sys/fs/file-max
365004

該值表示每次登入會話可以開啟的檔案數。不同系統結果可能會有所不同。

例如在一個 CentOS 我的伺服器,限制設定為 365004

在 Linux 中檢查硬限制

# ulimit -Hn
65535

檢查 Linux 中的軟限制

# ulimit -Sn
65535

要檢視不同使用者的硬值和軟值,你可以su切換使用者檢視比較。

例如:

# su rumenz
$ ulimit -Sn
1024
$ ulimit -Hn
1024

如何在 Linux 中檢查系統範圍的檔案描述符限制

如果你正在執行伺服器,你的某些應用程式可能需要更高的開啟檔案描述符限制。一個很好的例子是MySQL/MariaDB 服務或 Apache 網路伺服器。

你可以透過編輯核心指令來增加 Linux 中開啟檔案的限制 fs.file-max。sysctl用於在執行時配置核心引數。

例如,將開啟檔案限制增加到 500000,你可以以 root 身份使用以下命令:

# sysctl -w fs.file-max=500000

你可以使用以下命令檢查開啟檔案的當前值:

$ cat /proc/sys/fs/file-max

使用上述命令,你所做的更改將僅在下次重新啟動之前保持活動狀態。如果你希望永久應用它們,則必須編輯以下檔案:

# vi /etc/sysctl.conf

新增以下行:

fs.file-max=500000

也可以根據需要更改數量。

# cat /proc/sys/fs/file-max

使用者需要登出並重新登入才能使更改生效。如果要立即應用限制,可以使用以下命令:

# sysctl -p

在 Linux 中設定使用者級別開啟檔案限制

上面的示例展示瞭如何設定全侷限制,但你可能希望對每個使用者應用限制。root 使用者需要編輯以下檔案:

# vi /etc/security/limits.conf

格式:

<domain>        <type>  <item>  <value>

這是為使用者設定軟限制和硬限制的示例 rumenz使用者:

## Example hard limit for max opened files
rumenz        hard nofile 4096
## Example soft limit for max opened files
rumenz        soft nofile 1024


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70023145/viewspace-2929922/,如需轉載,請註明出處,否則將追究法律責任。

相關文章