Reduce load of backup scripts with nice and ionice

Runing a nightly backup script on a server system like a webhosting server can produce high load and longer latencys for other processes, e.g. HTML or .php pages load slow during backup because the backup script takes too much I/O or CPU resources.

On Linux systems there are two shell utilitys available to set the I/O and CPU Scheduling for a appliaction or script. The utilitys are named nice and ionice.

Reduce the I/O priority of the script "/usr/local/bin/" so that it does not disrupt other processes:

/usr/bin/ionice -c2 -n7 /usr/local/bin/

The -n parameter must be between 0 and 7, where lower numbers mean higher priority.

To reduce the CPU priority, use the command nice:

/usr/bin/nice -n 19 /usr/local/bin/

The -n parameter can range from -20 to 19, where lower numbers mean higher priority

Nice and ionice can also be combined, to run a script at low I/O and CPU priority:

/usr/bin/nice -n 19 /usr/bin/ionice -c2 -n7 /usr/local/bin/


1 thought on “Reduce load of backup scripts with nice and ionice”

  1. Add nocache to that and you’re set (you can join it with ionice and nice):

    On Ubuntu install with:
    apt install nocache

    It simply omits cache on IO and thanks to that other processes won’t starve when the cache is flushed.
    It’s like calling the commands with O_DIRECT.


Leave a Comment