There's always lots of spare RAM avaliable on the machine, when the CPU is at 100%, the RAM is generally at 20% used.
Also plenty of deiskspace on the drive where the mysql database is (over a Gb)
One table in the database has over 150,000 entries, the problem has not come on slowly as the tables grew though, it just suddenly happened - one day everything was fine with exactly the same database, the next day the CPU was having to do massive amounts of work to serve each page.