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

对于一个实验,我试图通过libvirt启动尽可能多的虚拟机,但是有超过1000个虚拟机正在运行,我得到一个错误:“无法创buildpipe道:太多打开的文件”。 任何想法如何解决这个问题?

我已经把所有用户的ulimit软限制设置为4096,但是在检查/ proc /'libvirt守护进程的进程pid'/限制它仍然说软限制是1024(硬限制设置为4096)。 当通过“ulimit -Sn”或“ulimit -Hn”检查任何用户的ulimit时,限制似乎按照预期设置。

这在Ubuntu 12.04服务器上发生,使用libvirtd 0.9.8

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

sysctl -w fs.file-max=100000 

调整品味( sysctl fs.file-max告诉你当前的值)。 文件/etc/sysctl.conf用于在启动时设置configuration。