We are using rsnapshot for backups. It uses hard links to efficiently store unchanged files, and rsyncs the changed files from servers.
The hard linking part calls a command like this
cp -al /current /old
But this process uses up ALL the available memory. Is there a way to limit memory of cp process, or is there a memnice utility a la nice/ionice?
rsnapshot includes support for --link-dest support using rsync which would avoid the cp -al step. Rsync 3.0+ doesn't have to keep the entire directory tree in memory and would probably work better in your situation.