Ваши процессы прибивает OOM Killer - в связи с не хваткой ресурсов ОЗУ и SWAP.
Необходимо произвести настройку MySQL в соответствии с имеющимися ресурсами а также Apache посадить на диету. В принципе подумать об избавления от апача вовсе и заменить на Nginx.
Есть какие-нибудь инструменты, чтобы отследить источник такой нагрузки "задним числом"?
Любой мониторинг - Zabbix, Nagios и т.д.
Вроде, из утилит, atop умеет вести стату за период, но не помню умет ли в лог писать.
P.S. Можно попросить OOM не трогать ваши процессы но тогда заместь out of memmory вы можете отхватить kernel panic :)