У меня есть машина CentOS 6, которая используется как база данных (mysql) и сервер приложений.
Недавно я заметил, что KSMD просыпается и использует ровно половину ядра в течение от пары минут до нескольких часов.
Насколько я могу судить, KSMD используется только для дедупликации памяти виртуальных машин. В документации для этой ОС сказано: «Цикл KSM запускается, когда значение thres, добавленное к сумме всех процессов qemu-kvm RSZ, превышает общую системную память».
Я проверил, на этой машине нет виртуальных машин.
Любые идеи?
Оказывается, реализация KSM в Linux изначально предназначалась для использования с виртуальными машинами, но, поскольку она может экономить память в невиртуальных системах, по умолчанию развернута в CentOS 6 и новее.
Использование памяти этим сервером постепенно увеличивалось, и это, по-видимому, заставило KSMD начать сканирование.
Где-то по ходу дела документация по CentOS 6 не обновлялась (или Google связывает меня с более старой версией). Кроме того, большинство ссылок, которые я нашел в запросах Google, по-прежнему относятся к KSM в контексте использования исключительно в средах KVM.