Назад | Перейти на главную страницу

Systemd / ssh: невозможно выделить память

У меня есть хост (Ubuntu 14.04.4 LTS 64 бит, ядро ​​3.13.0-85-generic), на котором много одновременных SSH-соединений. Вход по SSH недавно начал сбоить, и в журнале написано:

sshd[26057]: pam_systemd(sshd:session): Failed to create session: Cannot allocate memory

Я не могу понять даже, какая подсистема обеспечивает это ограничение. Сама машина имеет 4 ГБ свободной оперативной памяти и 0 байт подкачки (из 8 ГБ):

Я написал небольшую программу на C, которая блокирует гигабайт оперативной памяти, и она делает это без проблем, так что это не вопрос системной оперативной памяти.

Я изучил ulimit настройки и посмотрел /proc/<pid>/limits чтобы узнать, определены ли ограничения ОС, но все без ограничений.

Я также изучил ограничение ресурсов systemd, словно MemoryLimit параметр в /etc/systemd/system/sshd.service.

Кажется, ничего не действует. Есть идеи, откуда взялся этот предел памяти?

Редактировать:

вообще-то странно, что systemd установлен. Это пакеты systemd:

# aptitude search systemd|grep "^i"
i A libpam-systemd                  - system and service manager - PAM module   
i A libsystemd-daemon0              - systemd utility library                   
i A libsystemd-login0               - systemd login utility library             
i A systemd-services                - systemd runtime services                  
i A systemd-shim                    - shim for systemd

Это версия 204-5ubuntu20.19.

apt-cache rdepends на самом деле не дает мне четкого представления, почему он установлен. Он также не полностью установлен. В systemctl команда недоступна, например.

Edit2: кажется, что компоненты systemd включены из-за dbus. Если я попытаюсь установить dbus в другой системе 14.04, он действительно захочет загрузить systemd.