Keeping millions of files synchronized in a RAM-limited environment