Crie um script que registre os processos:
#!/bin/bash
top -b -c -n 1 -d 1 > /tmp/top-$(date "+%Y-%m-%d_%H-%M-%S")
Configure um cron job que execute o script a cada minuto:
*/1 * * * * /path/to/script.sh
Na próxima vez que seu sistema não responder, você terá o registro do que estava fazendo isso.