On Thu, Feb 28, 2013 at 02:00:46PM +1300, Craig Miskell wrote: > Package: unattended-upgrades > Version: 0.79.4 > Severity: important
Thanks for your bugreport. > When unattended-upgrades starts, it sets nice to 19 and ionice to idle, > before running the main function. Thus, every process restarted by any > package upgrades inherits that nice/ionice settings. This is unexpected, and > sub-optimal, especially for important processes like database servers > (postgres/mysql) etc. > I expect that any restarted processes should get normal nice/ionice > settings. > > Assuming unattended-upgrades itself does a reasonable amount of processing > that needs to be kept away from causing system impact, I expect the solution > will be to use reset the nice/ionice settings around calls to apt-get/dpkg. > If it's not, the nice/ionice should be at least able to be disabled via > config options, if not removed entirely. Indeed, this is a pretty serious issue. Attached is a tiny patch that removes the nice/ionice. Will be part of the next upload. Cheers, Michael > -- System Information: > Debian Release: 7.0 > APT prefers testing > APT policy: (500, 'testing') > Architecture: amd64 (x86_64) > > Kernel: Linux 2.6.32-28-vserver (SMP w/1 CPU core) > Locale: LANG=en_NZ.UTF-8, LC_CTYPE=POSIX (charmap=ANSI_X3.4-1968) > Shell: /bin/sh linked to /bin/dash > > Versions of packages unattended-upgrades depends on: > ii apt 0.9.7.7 > ii apt-utils 0.9.7.7 > ii debconf [debconf-2.0] 1.5.49 > ii lsb-base 4.1+Debian8 > ii lsb-release 4.1+Debian8 > ii python 2.7.3~rc2-1 > ii python-apt 0.8.8.1 > ii ucf 3.0025+nmu3 > ii xz-utils 5.1.1alpha+20120614-2 > > unattended-upgrades recommends no packages. > > Versions of packages unattended-upgrades suggests: > pn bsd-mailx <none> > ii exim4-daemon-light [mail-transport-agent] 4.80-7 > > -- debconf information: > unattended-upgrades/enable_auto_updates: false
=== modified file 'unattended-upgrade' --- unattended-upgrade 2012-08-14 11:55:21 +0000 +++ unattended-upgrade 2013-02-28 16:22:52 +0000 @@ -1003,14 +1003,6 @@ print _("You need to be root to run this application") sys.exit(1) - # nice & ionce - os.nice(19) - IONICE="/usr/bin/ionice" - if os.path.exists(IONICE): - with open(os.devnull, "w") as fstderr: - subprocess.call([IONICE, "-c3", "-p",str(os.getpid())], - stderr=fstderr) - # ensure that we are not killed when the terminal goes away e.g. on # shutdown signal.signal(signal.SIGHUP, signal.SIG_IGN)