Fedora/Linux 中的“打开文件/观察程序过多”

Fedora/Linux 中的“打开文件/观察程序过多”

我有一台安装了 Fedora 31 的“裸机”机器。

当我使用 VSCode 远程时,每隔 1~2 小时,我就无法运行tail -fjournalctl等命令podman。 (VSCode 终端和 SSH)

我可以杀死 vscode 服务器来解决这个问题(临时)。我认为 vscode 服务器泄漏了 fds,但找不到原因。

我遵循了从谷歌找到的每一篇文章,但未能解决这个问题。

sysctl fs.file-nr:

fs.file-nr = 10512      0       2000000

这个命令:https://stackoverflow.com/questions/21752067/counting-open-files-per-process/21752125#21752125

194 fds (PID = 4313), command: /usr/libexec/mysqld --basedir=/usr
141 fds (PID = 1), command: /usr/lib/systemd/systemd --switched-root --system --deserialize 29
119 fds (PID = 3448), command: /usr/bin/qbittorrent --profile=/opt
90 fds (PID = 18100), command: /usr/sbin/smbd --foreground --no-process-group
72 fds (PID = 1180), command: /usr/lib/systemd/systemd-journald
57 fds (PID = 8781), command: /usr/sbin/smbd --foreground --no-process-group
52 fds (PID = 3976), command: /usr/lib/systemd/systemd
47 fds (PID = 3785), command: /usr/bin/mongod -f /etc/mongod.conf
43 fds (PID = 1758), command: dbus-broker --log 4 --controller 9 --machine-id 48d17ca8e2184a66b9043781fdc8f037 --max-bytes 536870912 --max-fds 4096 --max-matches 16384 --audit
40 fds (PID = 1766096), command: /root/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0/node /root/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0/out/vs/server/main.js --host=127.0.0.1 --enable-remote-auto-shutdown --port=0

ulimit -n

500000

lsof | awk '{print $9}' | sort | uniq | wc -l

2003

并且内存足够大: free -g

              total        used        free      shared  buff/cache   available
Mem:             59           8           6           0          44          50
Swap:            63           0          63

杀死 vscode 服务器后:
sysctl fs.file-nr

fs.file-nr = 10320      0       2000000

您可以看到打开的文件总数是一个“很小”的数字(与某些高负载服务器相比)。
vscode 服务器只使用了 40 个 fd,但是在我杀死它之后,file-nr 减少了 200 多个。这可能吗?

我正在使用该root用户并禁用了 SELinux,还有什么可以限制我的资源使用吗?

相关内容