当我打开 Lutris 然后打开 LOL 客户端时,就会发生这种情况。游戏永远不会好。我尝试了很多东西,但永远无法更改打开文件限制。如何解决这个问题?
Waiting on children
Waiting on children
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
esync: write: Bad file descriptor
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
eventfd: Too many open files
Run Code Online (Sandbox Code Playgroud)
还有我的限制信息
~$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15106
max locked memory (kbytes, -l) 16384
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 15106
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Run Code Online (Sandbox Code Playgroud)
小智 6
当“Too Many Open Files”错误消息写入日志时,它表明进程的所有可用文件句柄都已被使用(这也包括套接字)。
在大多数情况下,这是应用程序的某些部分泄漏文件句柄的结果。ulimit 是 unix/linux 中的命令,它允许为所有属性设置系统限制。
ulimit
是 unix/linux 中的命令,它允许在您需要增加最大值的情况下为所有属性设置系统限制。不。打开的文件数
ulimit -n <large value in your case 1000000>
or
sysctl -w fs.file-max=1000000
and
/etc/security/limits.conf or /etc/sysctl.conf:
change
fs.file-max = 1000000
Run Code Online (Sandbox Code Playgroud)
要确定打开文件的数量是否在一段时间内增长,请发出 lsof 以定期根据 PID 报告打开的文件。例如:
lsof -p [PID] -r [interval in seconds, 1800 for 30 minutes] > lsof.out
Run Code Online (Sandbox Code Playgroud)
如果您无权访问 lsof 命令,这将特别有用:
ls -al /proc/PID/fd
Run Code Online (Sandbox Code Playgroud)