So its completely static content, it only serves up images? Maybe go with nginx or lighttpd rather than apache. You could probably throw some more ram in there, 2GB isn't heaps and ram is cheap. Serving static files will be limited by I/O more than anything tho, what kind of hard drives have you got in there?
Also can you expand on what you mean by "300 people requesting 700 images at the same time"?
In fact, if all you are doing is serving images, do you even need a dedicated server or could you run in on a CDN like S3? Is this an internal or external server?