[libvirt] [PATCH v2] daemon: Allow overriding NOFILES ulimit for the daemon as well
Daniel P. Berrange
berrange at redhat.com
Wed Feb 1 11:50:32 UTC 2012
On Thu, Jan 12, 2012 at 06:52:52PM +0100, Michal Privoznik wrote:
> One of my latest patches (d8db0f9690) created support for setting
> the limit for the maximum of opened files by qemu user. However,
> since libvirtd keeps one FD opened per domain (well, for qemu at least)
> it will likely hit this limit on huge scenarios.
> ---
> daemon/libvirtd.init.in | 7 +++++++
> daemon/libvirtd.service.in | 2 ++
> daemon/libvirtd.sysconf | 3 +++
> daemon/libvirtd.upstart | 5 +++++
> 4 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/daemon/libvirtd.init.in b/daemon/libvirtd.init.in
> index 4e610cb..3c49b1f 100644
> --- a/daemon/libvirtd.init.in
> +++ b/daemon/libvirtd.init.in
> @@ -60,6 +60,13 @@ start() {
> echo -n $"Starting $SERVICE daemon: "
> mkdir -p @localstatedir@/cache/libvirt
> rm -rf @localstatedir@/cache/libvirt/*
> +
> + # LIBVIRTD_NOFILES_LIMIT from /etc/sysconfig/libvirtd is not handled
> + # automatically
> + if [ -n "$LIBVIRTD_NOFILES_LIMIT" ]; then
> + ulimit -n "$LIBVIRTD_NOFILES_LIMIT"
> + fi
> +
> KRB5_KTNAME=$KRB5_KTNAME daemon --pidfile $PIDFILE --check $SERVICE $PROCESS --daemon $LIBVIRTD_CONFIG_ARGS $LIBVIRTD_ARGS
> RETVAL=$?
> echo
> diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in
> index 9661428..8f2458a 100644
> --- a/daemon/libvirtd.service.in
> +++ b/daemon/libvirtd.service.in
> @@ -15,6 +15,8 @@ Before=libvirt-guests.service
> EnvironmentFile=-/etc/sysconfig/libvirtd
> ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
> ExecReload=/bin/kill -HUP $MAINPID
> +# Override the maximum number of opened files
> +#LimitNOFILE=2048
>
> [Install]
> WantedBy=multi-user.target
> diff --git a/daemon/libvirtd.sysconf b/daemon/libvirtd.sysconf
> index ab273c8..3af1f03 100644
> --- a/daemon/libvirtd.sysconf
> +++ b/daemon/libvirtd.sysconf
> @@ -19,3 +19,6 @@
> #QEMU_AUDIO_DRV=sdl
> #
> #SDL_AUDIODRIVER=pulse
> +
> +# Override the maximum number of opened files
> +#LIBVIRTD_NOFILES_LIMIT=2048
> diff --git a/daemon/libvirtd.upstart b/daemon/libvirtd.upstart
> index f51701a..e620f41 100644
> --- a/daemon/libvirtd.upstart
> +++ b/daemon/libvirtd.upstart
> @@ -31,6 +31,11 @@ script
> ulimit -c "$DAEMON_COREFILE_LIMIT"
> fi
>
> + # LIBVIRTD_NOFILES_LIMIT from /etc/sysconfig/libvirtd is not handled
> + # automatically
> + if [ -n "$LIBVIRTD_NOFILES_LIMIT" ]; then
> + ulimit -n "$LIBVIRTD_NOFILES_LIMIT"
> + fi
> mkdir -p /var/cache/libvirt
> rm -rf /var/cache/libvirt/*
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list