增加 libvirt 的最大打开文件数量

增加 libvirt 的最大打开文件数量

为了进行实验,我尝试通过 libvirt 启动尽可能多的虚拟机,但是当运行 1000 多个虚拟机时,我收到一条错误消息:“无法创建管道:打开的文件太多”。有没有什么办法可以解决这个问题?

我已将所有用户的 ulimit 软限制和高限制设置为 4096,但检查 /proc/'process pid of the libvirt daemon'/limits 时,它仍然显示软限制为 1024(硬限制已设置为 4096)。通过“ulimit -Sn”或“ulimit -Hn”检查任何用户的 ulimit 时,限制似乎按预期设置。

这是在 Ubuntu 12.04 Server 上发生的,使用 libvirtd 0.9.8

答案1

您可能需要增加内核处理的打开文件的数量,例如

sysctl -w fs.file-max=100000

根据需要调整值(sysctl fs.file-max告诉您当前值)。该文件/etc/sysctl.conf用于在启动时设置配置。

相关内容