在年初 我们在博客上谈论Earlyoom实用程序, 经过Fedora开发人员的讨论,该程序在Fedora 32中作为后台进程使用此实用程序而被接受,他们打算以此来提高系统对内存不足的响应,从而避免崩溃。
现在几个星期后, 经过八个月的开发,宣布了新版本的Earlyoom 1.4.
对于那些不熟悉该项目的人,他们应该知道 这是一个后台线程,可定期检查可用内存量 (MemAvailable,SwapFree),并尝试在早期阶段响应内存不足的情况。 项目代码用C编写,并在MIT许可下分发。
如果可用内存量较少 比指定值大 Earlyoom将以武力结束 (通过发送SIGTERM或SIGKILL) 消耗最多内存的过程 (具有最高值/ proc / * / oom_score),如果低状态内存已经达到临界值,则无需系统状态清除系统缓冲区并不会干扰内核中的交换工作(OOM(内存不足)驱动程序),并且通常在此状态下触发表示系统不再响应用户的操作)。
Earlyoom支持发送强制过程通知 到桌面(通过发送通知),还提供了定义规则的功能,在规则中可以使用正则表达式来指定首选终止(“ -prefer”选项)或应避免停止的进程的名称(-避免选择)。
Earlyoom 1.4中有哪些新功能?
在此新版本中,突出显示了一些更改,其中 提到我正在清理代码 而且由于流程属性的加载延迟, 选择完成流程的逻辑加快了50%。
除此之外 根权限重置已实施 在驱动器文件中systemdearlyoom.service“。 此更改破坏了接收GUI通知的能力。
要重新启用GUI通知,建议通过取消注释行«来返回根权限。DynamicUser = true«。
尽管禁用root也使安装时无法获得有关内存消耗的信息 / proc中 在模式下 hidepid = 1或hidepid = 2.
其他变化 脱颖而出:
- 除了PID和进程名称之外,完成的进程的UID还反映在注册表中。
- 添加了浅灰色的调试日志突出显示。
- 如果可能,使用块本地变量的声明。
- 添加配置 路径长度 覆盖代码中嵌入式缓冲区大小的值。
- 开始的可能性 cpp检查 如果可供使用的话。
- 性能测试“制作基准”。
- 扩展测试套件(进行测试)。
最后 如果您想了解更多 关于此版本,您可以在 以下链接。
如何在Linux上安装Earlyoom?
对于有兴趣尝试使用此实用程序的人,可以按照我们下面共享的说明进行操作。
Earlyoom位于某些发行版本的存储库中 流行的Linux,所以, 对于Debian,Ubuntu和任何衍生产品 其中,可以使用以下命令完成安装:
sudo apt install earlyoom
完成此操作后,现在必须使用以下命令启用该服务:
sudo systemctl enable earlyoom
它开始于:
sudo systemctl start earlyoom
在这种情况下 具有EPEL的Fedora和RHEL 8,可以使用以下命令进行安装:
sudo dnf install earlyoom
并通过以下方式激活该服务:
sudo systemctl enable --now earlyoom
最后, 对于Arch Linux或其他任何衍生产品,使用以下命令完成安装:
sudo pacman -S earlyoom
并通过以下方式激活该服务:
sudo systemctl enable --now earlyoom
对于所有其他Linux发行版, 他们可以通过编译实用程序代码来执行安装。
要获取代码,我们可以使用以下命令进行操作:
git clone https://github.com/rfjakob/earlyoom.git
cd earlyoom
我们继续进行以下编译:
make
然后我们安装(如果您有Systemd):
sudo make install
或对于那些没有Systemd的人:
sudo make install-initscript
并使用以下服务:
./earlyoom
标题的详细信息:“内存丢失”
感谢您的观察。 干杯! 🙂
我认为Manjaro中的安装有一个细节(来自Arch)。 我没有在常规存储库中找到该软件包。
因此,安装应通过yaourt完成。
yaourt earlyoom
您好!
在Arch中,它位于社区存储库中,必须在pacman.conf中启用它。 就像您提到的一样,它也在AUR中。
感谢您的观察😀
嗨,我希望每次打开计算机而不必在终端中输入命令时,都可以在MXLinux中启动此服务,该怎么办?