SystemdDoctor
memcached.service кеш

memcached в systemd: почему не запускается

memcached — простая служба, и её отказы почти всегда сводятся к трём вещам: занятый порт, недопустимые параметры запуска и нехватка памяти под заданный размер кеша.

О службе

Параметры memcached задаются не в отдельном файле настроек, а ключами командной строки. В дистрибутивах их выносят в файл окружения (/etc/memcached.conf или /etc/sysconfig/memcached), который unit-файл подключает. Поэтому правки идут именно туда, а не в unit.

Вторая особенность — память. Размер кеша задаётся ключом и выделяется по мере заполнения. Если он больше доступной памяти, служба работает до первого заполнения, а потом её убивает ядро. На небольших машинах это выглядит как случайные падения под нагрузкой.

Как устроена

Порт по умолчанию11211; в дистрибутивах часто ограничен адресом 127.0.0.1
Где параметрыключи командной строки, вынесенные в /etc/memcached.conf
Размер кешаключ -m в мегабайтах; выделяется по мере заполнения
Проверкаecho stats | nc 127.0.0.1 11211 | head — отвечает ли служба

Частые ошибки

5 записей базы отмечены за этой службой.

Сообщения журнала

Состояния результата

  • Failed with result 'oom-kill'Состояние oom-kill: процесс службы убит из-за нехватки памяти. Как понять, упёрлись в предел службы или в память машины.

Коды выхода

  • status=1/FAILURE в systemdКод 1/FAILURE означает, что программа запустилась и сама завершилась с ошибкой. Как найти настоящую причину в журнале службы.

Ошибки служб

Коды выхода этой службы

Числа в status=N ниже 200 назначает сама программа, 200 и выше — systemd, когда не смог подготовить запуск.

statusЧто означает у этой службыКуда смотреть
1/FAILURE недопустимый ключ запуска или занятый порт. разбор
убит сигналом KILL размер кеша больше доступной памяти. разбор

Диагностика

Состояние и код завершения.

systemctl status memcached --no-pager -l

Кто занимает порт кеша.

sudo ss -tlnp | grep 11211

Действующие ключи запуска.

grep -vE "^#|^$" /etc/memcached.conf

Отвечает ли служба и её счётчики.

echo stats | timeout 3 nc 127.0.0.1 11211 | head -12

Параметры unit, которые тут важны

  • MemoryMax=предел памяти должен быть выше размера кеша с запасом
  • User=служба работает от отдельного пользователя memcache
  • EnvironmentFile=ключи запуска подключаются файлом окружения

Источники

  • Документация memcached документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026