A primeira coisa que eu tentaria fazer é recuperar os logs dos erros via ADB e / ou despejos de memória.
A recuperação dos logs é complicada, pois o cache do log é apagado na reinicialização. Se o telefone reiniciar, mesmo sentado em um carregador, tente executar adb logcat
continuamente (você precisará de drivers USB SDK e Android instalados e configurados no seu PC.) Quando o telefone reiniciar, verifique as últimas páginas da janela de prompt de comando quanto a erros. ou anormalidades.
Se você não conseguir reproduzir as reinicializações enquanto o telefone estiver conectado ao USB, sugiro instalar um aplicativo como o aLogcat e configurá-lo para gravar registros no cartão SD em um intervalo. Espero que você tenha sorte e pegue os erros dessa maneira.
Você também pode tentar extrair os despejos de memória usando os seguintes comandos:
su
cat /proc/last_kmsg > /mnt/sdcard/last_kmsg
Isso deve criar um arquivo chamado "last_kmsg" no seu cartão SD que contém as últimas mensagens de depuração do kernel. Abra-o com qualquer editor de texto e veja se algo óbvio aparece.