The default PermGen space is 128M, and while not many things use PermGen, Tomcat eats a lot of it, so it's common to run out when re-deploying webapps, or deploying apps such as JPA-based apps that also consume PermGen.
You should be able to ease the pain by creating a file named "setenv.sh" (or setenv.bat, for Windows) in the TOMCAT_HOME/bin directory. Put this line into it:
You can adjust the Xms and Xmx if you like - I pulled this from a major server which uses more RAM than average.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.