I always take a pragmatic approach to memory allocation - fire it up with default memory and see what happens under load.
Then I have to balance versus the other requirements of the system - memory available, other processes that have to run, expected response times, etc. so I dont think there is a single magic answer.
Bill