Вопрос - индикатор активности HDD молчит? Или что-то индицирует? Снаружи хост пингуется?
У меня на тестовой машине что-то подобное происходит, только периодичность - пару недель: машина уходит в себя, индикатор HDD горит ярким огнём, ни мыша, ни клава не работают. Порой удаётся успеть переключиться в консоль - тогда что-то ещё работает. top ничего критичного не показывает - в первых строчках сам топ, kswapd, иногда ещё что-то. Но я заметил, что блокировщик экрана, который включается при переходе в консоль, понижает приоритеты активных приложений или, вообще, замораживает их. (Хотя, нет - телега работает, периодически булькает). Если в этот момент зайти в графике другим пользователем - всё спокойно. Если вернуться снова в того пользователя, то процесс "зависания" продолжается до конца. При этом снаружи хост пингуется, но тот же ssh висит - не спрашивает ни подтверждения ключей, ни логина-пароля. Причину понять пока не могу - очень большой период времени проходит до этого явления.

И случается оно весьма неожиданно.
PS1: Попробуйте сразу после загрузки переключиться в консоль, пока машинка "жива" и понаблюдать - виснет или нет. Если да, то это на уровне системы. Если нет - это, вероятнее всего, Х-ы и надо копатьв сторону дров на видео.
PS2: Посмотрите файлик /etc/sysctl.conf - там в конце есть про магию. Файлик в некоторых системах читается перед загрузкой ядра, а в некоторых - перед переходом в мультизадачность. Но смысл одинаков - важные системные переменные устанавливаются перед началом работы системы.