I keep them written down on a sheet of paper. When training a particular stat, I make two columns- one column shows how many EVs were gained from each battle, and the second shows the total amount of EVs so far.
Or, that's how I used to do it. That takes way too much effort now. Now, I just compare it against my Pokemon's remaining PP for a certain move. For example, let's say I'm training on Golbats on Victory Road for Speed. I'll send in the Pokemon I want to train, then switch to a stronger Poke (like Porygon-Z). If I kill 21 Golbats (12 EVs per Golbat), I'll reach the desired amount of EVs (252). So, I just kill Golbats until I've used 21 Thunderbolts (when I have three Thunderbolts left). At that point, I'm done, and I move on.