Starting sshd With a Higher Nice Value

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.

Tags: 

Comments

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

Screen resolution is a thing that manages appearance of your display and properties like display content and images etc. Now you can easily manage your screen resolution by this link.

I really loved reading your blog. It was very well authored and easy to undertand. Unlike additional blogs I have read which are really not tht good. I also found your posts very interesting. In fact after reading, I had to go show it to my friend and he ejoyed it as well! download lucky patcher

Developing a code for a newly defined user is the best thing to do for innovation and creative as it is very important. Some basic tips are given in this blog essaypro.com writers to work on your code on a specific coding language.

Add new comment