1 GB memory is on the low side for websites that run mysql databases…in fact I would argue it’s not enough to avoid troubles.
I had similar problems on a server with 2gb memory.
The truth is, unless your websites are all static html, then you need a server with at least double that amount of RAM.
Also, 200-250 mb swap is too small…A single WordPress website uses that much at times.
Swap needs to also be doubled as an absolute minimum.
Ideally, your system should be as follows
4gb memory
1-2 gb swap
6 WordPress websites will run on this without problems. The issue isn’t actually caused by virtualmin btw, it’s actually your webserver (Apache) configuration. Each “apache worker process” in your memory stats, ( for WordPress websites) will most likely be something like 500mb. If you have 6 websites on it…well, that’s potentially upwards of 3 GB of memory. Hence your problems.
Usually what happens is the memory usage begins to climb after each restart until the system runs out of memory and starts using the swap file for everything. Then once that is fully utilised, boom, something capitulates (such as mysql)
To be honest, you can play around with efficiency all you like, but in the end, like many before you, you will realise the only solution is to increase RAM as that system you are running cannot support so many websites that use mysql without some very fancy configuration (that requires quite a deal of experience)
As a short term solution, you can configure Virtualmin to automatically restart server processes (such as mysql, bind, apache, proftp etc) that have stopped functioning. I am replying on my phone…I can’t think of the menu where it’s done off the top of my head, sorry.