Yukitoha 站站站

v0.13 ... 能跑就行了吧?

应用程序 OOM 导致 niri 被 kill 处理方案

记录一下。

TLDR

systemctl enable systemd-oomd.service
systemctl start  systemd-oomd.service

问题

复现方法:运行一个会 OOM 的程序

  • 编写了一个反复 a=a..a 的 lua 脚本。
  • niri-session 进入 niri (我通过 greetd 启动 niri 会话)
  • 在 niri 中打开终端(快捷键内容:spawn "terminal"),执行该脚本
  • 不久后内存用尽,触发 OOM,整个 niri 被 kill,被退至登录界面。

  • 随即发现使用 systemd-run –user –scope 来启动应用可以避免这一情况。

询问

在 niri 群里问了一下是不是必须要用 systemd-run 来避免整个 niri 会话被杀

YaLTeR:

niri already does it specifically for that purpose and it works. So idk check your systemd-oomd

systemctl status systemd-oomd

我的显示为 disabled ,同时预设也是 disabled。

systemctl enable systemd-oomd.service
systemctl start  systemd-oomd.service

启用后就好了。

Written on September 1, 2025