We never reboot unless absolutely necessary, its a web server as well. We have been up for months before.
I know that the OS caches things to access faster, but I dont know if its just indexing already allocated memory, or allocating data to access faster. Its weird since its a different color, so it might be able to un-cache as needed. Linux is fairly lightweight, an OS doesnt need 40gb of ram XD. Might just be a memory leak, or it just doesnt un-index anything, or anything previously allocated is un-indexed and the OS just doesnt bother to clear those locations in ram.
As far as the OP, 4gb is usually enough, even for large servers. If you are using mystcraft and chunk loaders keep an eye out for your ram use though.