Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For an experiment I'm trying to start as many VM's as possible through libvirt, however with a little over 1000 VM's running I get an error saying: "Failed to create pipe: Too many open files". Any idea of how to fix this?

I've set ulimit soft and high limits for all users to 4096, but when checking: /proc/'process pid of the libvirt daemon'/limits it still says the soft limit is 1024 (hard limit has been set to 4096). When checking the ulimit for any user through 'ulimit -Sn' or 'ulimit -Hn' the limits seems to be set as intended.

This is happening on Ubuntu 12.04 Server, using libvirtd 0.9.8

share|improve this question

You probably need to increase the number of open files handled by the kernel, e.g. by

sysctl -w fs.file-max=100000

Adjust the value to taste (sysctl fs.file-max tells you the current value). The file /etc/sysctl.conf is used to set the configuration at boot.

share|improve this answer
Thank you for the response. But this is set to 384180 by default, so I do not think this is the limitation. I've also tried running simple scripts creating a large number of files, and these are able to create as many files as the soft limit dictates. I believe my problem is the soft limit within the libvirtd process, but I don't know how to change this. – Jon Mar 2 '13 at 16:50
I found a solution for this problem. The second answer, from Janning, explains the solution. By adding ulimit commands to /etc/defaults/libvirt-bin I was able to increase the limit for open files. – Jon Mar 7 '13 at 9:02

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.