Systemd/ssh:无法分配内存

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 GB 可用 RAM 和 0 字节正在使用的交换空间(共 8GB):

在此处输入图片描述

我编写了一个小型 C 程序,它可以分配 1GB 的 RAM,并且没有任何问题,所以这不是系统 RAM 的问题。

我检查了ulimit设置,并查看/proc/<pid>/limits是否定义了操作系统限制,但一切都是无限制的。

我也调查过systemd 的资源限制,就像MemoryLimit中的参数一样/etc/systemd/system/sshd.service

似乎没有任何效果。知道这个内存限制是从哪里来的吗?

编辑:

实际上,安装 systemd 很奇怪。这些是 systemd 软件包:

# aptitude 搜索 systemd|grep "^i"
i libpam-systemd - 系统和服务管理器 - PAM 模块   
i libsystemd-daemon0 - systemd 实用程序库                   
i A libsystemd-login0 - systemd 登录实用程序库             
i A systemd-services - systemd 运行时服务                  
i systemd-shim - systemd 的垫片

它的版本是 204-5ubuntu20.19。

apt-cache rdepends并没有真正让我清楚了解为什么要安装它。它也没有完全安装。systemctl首先,命令不可用。

编辑2:由于 dbus,systemd 组件似乎被包含在内。如果我尝试在另一个 14.04 系统上安装 dbus,它确实想要引入 systemd。

相关内容