running really nice
Everyone that uses the shell eventually learns about nice
– the tool that runs a process at a reduced priority.
Well, there is also ionice
that allows you to tweak processes from taking over all disk IO.
I added a vnice()
function into my ZSH config so I can run or mark processes for lower priority for
both nice
and ionice
levels.
The vnice
function can be ran in two modes.
-
vnice make
This will run the
make
program under lower CPU and IO priorities. -
vnice $(pidof git)
This will lower the priorities of all processes with the name of git.
Here is the actual code that you can add to your zshrc
:
vnice() {
if [[ -z "$1" ]] ; then
echo "vnice [ <pid>... | <program> ]" >&2
return 1
elif [[ "$1" =~ ^[0-9]+$ ]] ; then
while [[ "$1" =~ ^[0-9]+$ ]] ; do
ionice -n7 -p $1
renice 20 $1
shift
done
else
ionice -n7 nice -n20 $@
fi
}
The above might work under bash, but it has not been tested
Read other posts