Exceeded the virtual memory limit

It is impossible to guess how is memory spent in your site. In context of WordPress it will simply obey PHP memory limit and will crash upon reaching it.

Your description sounds more like the total of server memory, which isn’t just WP, but everything on server (including web server software, database software, and so on). If that’s the case 310 megabytes sounds on a very low end and might be simply insufficient for your site altogether.