Limit disk I/O for a process
Hi.
I've to run a backup process, which *highly* loads the system, it makes a lot of disk i/o and I want to reduce it so that the entire system doesn't become unresponsive. I've tried reducing the priority with the "nice" command but it doesn't work for me, because as far as I know, the kernel automatically increases priority to i/o processes. Any idea ?? Thanks. |
That depends on your backup tool. I use rsync for backup to an external USB HD. One of the advantages of rsync is the ability to throttle the I/O rate. For example:
/usr/bin/rsync --progress --delete --bwlimit=5000 -av /home/ /mnt/exthd/home The "--bwlimit=5000" limits the I/O to 5MB/sec (5000K) so that other processes aren't negatively impacted. |
Great!
I was using DAR... but it is very, very, memory intensive when making entire hard disk differential backups.... so, I'm looking for another thing. Thanks for your suggestion. |
Just a thought... Linux 2.6 offers a choice of four "I/O request schedulers" which can be assigned for disk I/O. These schedulers determine the order in which requests are handled and how the competing queues are balanced.
You may also find that an external "smart" disk-controller card will deliver considerably better performance under load than, say, the built-in IDE chains of a motherboard. |
All times are GMT -5. The time now is 03:18 PM. |