在 CentOS 系統中,文件描述符(File Descriptors)是一種用于訪問文件和其他 I/O 資源的抽象指標
查看當前的文件描述符限制:
使用 ulimit 命令查看當前用戶的文件描述符限制:
ulimit -n
使用 lsof 命令查看當前進程打開的文件描述符數量:
lsof | wc -l
臨時修改文件描述符限制:
使用 ulimit 命令臨時修改當前用戶的文件描述符限制:
ulimit -n <新的限制值>
請注意,這種方法只會在當前 shell 會話中生效。關閉 shell 或重新登錄后,更改將丟失。
永久修改文件描述符限制:
要永久修改文件描述符限制,需要編輯 /etc/security/limits.conf 文件。使用文本編輯器打開文件:
sudo vi /etc/security/limits.conf
在文件末尾添加以下行,用 <username> 替換要修改限制的用戶名,用 <新的限制值> 替換新的限制值:
<username> soft nofile <新的限制值>
<username> hard nofile <新的限制值>
保存并關閉文件。下次用戶登錄時,新的限制將生效。
修改系統級別的文件描述符限制:
要修改系統級別的文件描述符限制,需要編輯 /etc/sysctl.conf 文件。使用文本編輯器打開文件:
sudo vi /etc/sysctl.conf
在文件末尾添加以下行,用 <新的限制值> 替換新的限制值:
fs.file-max = <新的限制值>
保存并關閉文件。運行以下命令使更改生效:
sudo sysctl -p
通過以上方法,您可以在 CentOS 系統中管理 ulimit 中的文件描述符。請注意,適當調整文件描述符限制以避免資源耗盡和性能問題。