Eu suspeito que você tenha vários problemas aqui que estão acumulando e causando problemas.
- O disco i / o é fragmentado e provavelmente ineficiente. OPTIMIZE TABLE em cada uma das suas tabelas deve resolver isso e ajudar um pouco.
- A memória é ajustada de forma horrível, provavelmente causando problemas ao trocar com frequência.
- Consultas lentas - esse é o grande suspeito de seu alto uso de CPU. Eu checaria seu log lento e veria o que você pode otimizar adicionando índices / reorganizando consultas / etc. Provavelmente há uma consulta bastante comum que faz dezenas ou centenas de milhares de comparações que estão matando seu desempenho.
Se nenhum deles aumentar o desempenho para o que você deseja, talvez seja hora de expandir seu servidor de banco de dados. 2 núcleos não me dizem nada sobre o poder de processamento da máquina, e 4 GB de memória RAM são bem pequenos atualmente.
Para um conselho mais específico, adicione mais detalhes à sua descrição. SSDs ou discos rotativos? Qual CPU? Que classe de carneiro? Quantas consultas / min? Quantos clientes, etc?