I wanted sshd
on my MythTV box to start with a lower priority than other processes. Sometimes I do large transfers to this box over scp (although usually I use nfs). I tried:
nice -n 10 /usr/sbin/sshd ${myopts} ${SSHD_OPTS}
and
start-stop-daemon -N 10 --stop --quiet --pidfile /var/run/${SVCNAME}.pid --signal HUP
in my /etc/init.d/sshd
startup script (in Gentoo) but that didn't work. Even after restarting sshd and logging out and back in again (via ssh) there were still sshd processes running at nice level 0. I think it's because sshd likes to spawn itself at priority 0 (rather than the priority of the parent process, not sure if that is standard or not, but whatever).
The solution I came up with was to run this as a cron job:
ps -o pid -C sshd --no-heading | xargs renice 10
This renices all processes named sshd to nice level 10. This can actually be run by the normal user (if you only log in via ssh as normal user) because the processes that get nice level 0 seem to be processes created by the normal user that you log in as.
Comments
Jordan (not verified)
Sat, 2007-09-29 23:36
Permalink
Another option...
Thanks for this post. It was quite helpful. I didn't quite like the cron part of it, but I found this solution. Create ~/.ssh/rc and add this in it:
ps -o pid --no-heading | xargs renice 19 > /dev/null
Sameer (not verified)
Tue, 2007-10-02 03:25
Permalink
or use spri
Spri is very nice, it has this feature built in to re-prioritize stuff for you
http://rfxnetworks.com/spri.php
Add new comment