My friend is trying to run a server for us to play on, but he can't add any more RAM to it. He has 8 GBs, and is adding it, but it keeps crashing and he can't go over 2GBs. Help? Let me know if you need to know more...
When making a server, you have to go in increments of 1024MB (1G), or Java won't know how much to give to the server.
This, also, a lot of places will recommend, or say that 8GB for a server is optimal, but frankly that depends on how many players and how much of the world needs to be chunkloaded at one time. If it's just you and your friend, you're unlikely to see any sort of major performance improvement at anything above 4GB.
You might be better off looking at fast clock CPU with a big cache. Even an old Core 2 Duo E8600, which is end of life and should be able to be picked up for like 20 bucks will likely give you better performance than some of the I5 or I7 branded processors, at least in terms of server performance - not desktop playing.
Minecraft, as a server, is actually pretty cheap to build. Some older parts can actually be better than modern desktop hardware because of some peculiar ways the software is designed. I built a server to run FTB unleashed last year that cost me about 300 bucks to put together and it was easily capable of connecting 20 players without any performance issues.
EDIT: IF you're running Linux, you could always configure the server for 4GB of ram, then take some of that extra ram and make a Ramdisk for the game. That'd probably be the best use of it.
With out paste bins of the crash report id is difficult to say what could be the issue but in most cases 2GB is more then enough for a small vanilla server 4GB for modded and most important is making sure that the java args are configured for the machine