Thiago,
Há inúmeros motivos que podem causar esse tipo de problema. Para solucionar esses problemas, geralmente, utilizo seguintes estratégias para identificar a causa.
1) Uso comando htop, nmon e iotop para monitorar o servidor. Esses comandos podem ser instalas de seguinte forma no Debian / Ubuntu
sudo apt-get install htop
sudo apt-get install nmon
sudo apt-get install iotop
2) Geralmente o problema ocorre de repente. Neste caso, faço uma vasculha non servidor para identificar o que foi alterado recentemente. Faço cruzamento de arquivos de log do apache com a carga de log no Moodle para ver se houve alguma carga de acesso fora da curva recentemente;
3) Sempre uso um ambiente de teste do Moodle com clone de dados de produção. Neste caso, no ambiente de teste fica fácil simular os problemas e alterar as variáveis do servidor para identificar possíveis solução do problema e depois aplicar no servidor.
4) Também uma prática que ajuda é configurar uma nova máquina com apache. Restaurar clone de uma máquina com apache que já está bem configurada ou com configurações de funcionamento de produção que deram certo. Rodar o servidor a partir da nova máquina.
5) Uma outra alternativa é comparar as principais variáveis de configuração do servidor que está dando problema com um servidor parecido que está funcionando sem problemas.
Essas dicas podem auxiliar em identificar potencias causas do problema do servidor. Espero ter ajudado.