[libvirt] [PATCH] Raise default limit on number of processes for qemu user
Daniel Veillard
veillard at redhat.com
Thu Mar 10 11:03:18 UTC 2011
On Wed, Mar 09, 2011 at 02:20:09PM +0100, Jiri Denemark wrote:
> The daemon/libvirtd.limits file (which is supposed to be copied to
> /etc/security/limits.d/libvirtd.conf) is generated based on --qemu-user
> option passed at configure time.
>
> The file is intentionally not installed by make install since installing
> it on distributions with higher or no limit on number of process could
> actually result in lowering the limit. Packagers may choose whether to
> install the file or not. It is installed by libvirt.spec for RPM based
> distributions.
> ---
> configure.ac | 3 ++-
> daemon/libvirtd.limits.in | 6 ++++++
> libvirt.spec.in | 7 +++++++
> src/qemu/qemu.conf | 4 +++-
> 4 files changed, 18 insertions(+), 2 deletions(-)
> create mode 100644 daemon/libvirtd.limits.in
>
> diff --git a/configure.ac b/configure.ac
> index a58ee4e..d8002b4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -2237,6 +2237,7 @@ AC_ARG_WITH([qemu-group],
> [QEMU_GROUP=root])
> AC_DEFINE_UNQUOTED([QEMU_USER], ["$QEMU_USER"], [QEMU user account])
> AC_DEFINE_UNQUOTED([QEMU_GROUP], ["$QEMU_GROUP"], [QEMU group account])
> +AC_SUBST([QEMU_USER])
>
>
> AC_ARG_WITH([macvtap],
> @@ -2344,7 +2345,7 @@ AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
> po/Makefile.in \
> include/libvirt/Makefile include/libvirt/libvirt.h \
> python/Makefile python/tests/Makefile \
> - daemon/Makefile \
> + daemon/Makefile daemon/libvirtd.limits \
> tools/Makefile \
> tests/Makefile \
> examples/apparmor/Makefile \
> diff --git a/daemon/libvirtd.limits.in b/daemon/libvirtd.limits.in
> new file mode 100644
> index 0000000..7b580ae
> --- /dev/null
> +++ b/daemon/libvirtd.limits.in
> @@ -0,0 +1,6 @@
> +# /etc/security/limits.d/libvirtd.conf
> +#
> +# Increase default limit for number of processes owned by qemu-user
> +# Also see @sysconfdir@/libvirt/qemu.conf where qemu-user can be overridden
> +
> + at QEMU_USER@ soft nproc 10000
> diff --git a/libvirt.spec.in b/libvirt.spec.in
> index 45a8fe0..02be928 100644
> --- a/libvirt.spec.in
> +++ b/libvirt.spec.in
> @@ -705,6 +705,12 @@ mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version}/html \
> rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
> rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
> %endif
> +
> +%if %{with_libvirtd} && %{with_qemu}
> +install -d -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/security/limits.d/
> +cp daemon/libvirtd.limits \
> + $RPM_BUILD_ROOT%{_sysconfdir}/security/limits.d/libvirtd.conf
> +%endif
> %if ! %{with_lxc}
> rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
> rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
> @@ -869,6 +875,7 @@ fi
> %if %{with_qemu}
> %config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
> %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
> +%config(noreplace) %{_sysconfdir}/security/limits.d/libvirtd.conf
> %endif
> %if %{with_lxc}
> %config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
> diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
> index 8c6b996..52c6ac7 100644
> --- a/src/qemu/qemu.conf
> +++ b/src/qemu/qemu.conf
> @@ -139,7 +139,9 @@
> # security_driver = "selinux"
>
>
> -# The user ID for QEMU processes run by the system instance.
> +# The user ID for QEMU processes run by the system instance. If you
> +# change this setting, /etc/security/limits.d/libvirtd.conf (if
> +# installed) needs to be changed to match this user ID.
> #user = "root"
>
> # The group ID for QEMU processes run by the system instance.
> --
ACK, sounds fine by me. Out of curiosity 10000 processes is quite a
lot, but maybe we can reach this with fake QEMU,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list