我有一个主机(Ubuntu 14.04.4 LTS 64位,内核3.13.0-85-通用),有很多并发的SSH连接。 SSHlogin最近开始失败,日志说:
sshd[26057]: pam_systemd(sshd:session): Failed to create session: Cannot allocate memory
我甚至不知道哪个子系统正在执行这个限制。 机器本身有4 GB可用RAM和0字节的交换使用(8GB):
我写了一个小C程序,mallocs RAM的演出,它没有问题,所以它不是一个系统RAM的东西。
我检查了ulimit设置,并查看了/proc/<pid>/limits来确定是否定义了操作系统限制,但都是无限的。
我还研究了systemd的资源限制 ,比如/etc/systemd/system/sshd.service的MemoryLimit参数。
似乎没有任何影响。 任何想法这个内存限制来自哪里?
编辑:
实际上,systemd被安装是奇怪的。 这些是systemd软件包:
#aptitude search systemd | grep“^ i” i libpam-systemd - 系统和服务pipe理器 - PAM模块 一个libsystemd-daemon0 - systemd实用程序库 我是一个libsystemd-login0 - systemdlogin实用程序库 一个systemd-services - systemd运行时服务 systemd的systemd-shim-shim
它是版本204-5ubuntu20.19。
apt-cache rdepends是不是真的给了我一个明确的想法,为什么安装。 它也没有完全安装。 systemctl命令不可用,一个。
Edit2:由于dbus,systemd组件似乎被包含在内。 如果我尝试在另一个14.04系统上安装dbus,那么它就是想要在systemd中引入。