避免在内存不足的情况下杀死 SSH

Rik*_*137 3 ssh priority out-of-memory

当我的服务器遇到内存不足时,它通常会杀死多个应用程序。如何防止杀死 SSH?因为通常,当发生这种内存不足错误时,我的 SSH 会像这样损坏:

I connect to ssh server.
Enter username
Enter password
Run Code Online (Sandbox Code Playgroud)

然后我等待

我等

等等...

哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇

进而:

Connection timed out.
Run Code Online (Sandbox Code Playgroud)

有什么办法可以防止这种情况吗? 如何提高进程的优先级?

Mic*_*ior 14

以 root 身份运行以下命令。您可能想将它添加到某个地方的 init 脚本中。

echo -17 > /proc/`pidof sshd`/oom_adj
Run Code Online (Sandbox Code Playgroud)

更新:

要确保主守护进程是被调整的进程,您可以使用此命令。如果您打开任何 SSH 会话,上述操作可能会失败,所以不是一个很好的选择:(

echo -17 > /proc/`cat /var/run/sshd.pid`/oom_adj
Run Code Online (Sandbox Code Playgroud)

-17 是OOM_DISABLEin的当前值/usr/include/linux/oom.h。您可以在此处阅读有关 Linux OOM 杀手的更多信息。