Известная проблема ядра Linux, описанная, например,
здесь.
В двух словах: при недостатке оперативной памяти, а у вас её осталось, судя по top, 59 МБ из 2 ГБ (2%), система начинает крайне плохо отвечать на запросы. Поэтому причину в загрузке CPU искать не стоит.
Вам нужно поработать над оптимизацией использования оперативной памяти или её увеличением. Включение swap если и поможет, то ненадолго.
Ошибка "Cannot allocate memory" как раз об этом -- память не удаётся выделить, просто потому что свободной её нет.
Процессы, перечисленные у вас в выводе top, даже близко столько памяти не занимают -- ищите проблему среди ваших спящих процессов.