I would like to know the amount of memory recommended for running eduCommons. I've found this link where says 200-300 MB should be enough. However, I can see how the memory usage in the server grows from about 300 MB (just started) to 1 GB after two weeks running. It's still not in production, there are only two people adding courses and me sometimes helping them with problems they find. So I wouldn't say it's under heavy load :-) The development mode option is unchecked, by the way.
So is this memory usage normal?
It's in a virtual machine with 512 MB of RAM running:
512MB of memory should be sufficient for the usage you describe. The memory usage does tend to grow over time for clients. There are settings which control how Plone caches objects in its database, which can ease the situation quite a bit (see zodb-cache-size, zserver-threads). Ultimately, a production level install should include some sort of strategy to monitor a client for memory usage and include a strategy for restarting a client if it gets out of control.
Ok, for the moment, I don't think I'm going to touch the cache options if memory
usage is going to keep increasing anyway. As to the monitoring of client's
memory usage, is there anything better than a cron job which restarts zope
periodically and that's worth the effort?
I would look at monit (http://mmonit.com/monit/) for a completely automated solution. Also any type of monitoring solution that provides notifications of memory usage can be useful (Zenoss, Nagios, Cacti, etc.)