zijinyise
deepin
2026-08-05 11:43 给大佬打call

Reply Like 0 View the author
给大佬打call

希望制作一个Fedora版本
希望制作一个Fedora版本
Github我已经提issue了
预告:Evernight Vista 45将会加入macOS 同款"内存耗尽"对话框
大佬好强,想问下我想内置您的程序到 GXDE 里,可以吗
你也在这
感谢楼主大佬,已安装和测试成功。
Github我已经提issue了
虽然很高兴你能提pr,但是这个项目是为deepin/uos制作的,如果有需要就自己fork吧,换成Qt并且把debian/* 都清理掉太有破坏性了
虽然很高兴你能提pr,但是这个项目是为deepin/uos制作的,如果有需要就自己fork吧,换成Qt并且把debian/* 都清理掉太有破坏性了
没事
没事
不过也给我了个启发,也许可以做一个通用的liferaft-daemon加上不同的前端?
不过也给我了个启发,也许可以做一个通用的liferaft-daemon加上不同的前端?
可以,但最好先适配Fedora和KDE Plasma
不过也给我了个启发,也许可以做一个通用的liferaft-daemon加上不同的前端?
还有最好加上多语言支持
好东西
@一头牛 @babyfengfjx 感觉系统是不是可以考虑从功能层面引入这样的内存管控机制?
之前有遇到内存耗尽卡死的问题,也尝试安装过nohang,直接卡死体验太差了。楼主的方案很赞!
除了将“内存耗尽”弹窗纳入系统,建议在系统设置加一个配置项可以设置swap交换空间大小。(实现起来并不复杂,swap交换空间可以绑定swapfile文件)。

还有最好加上多语言支持
已经加上i18n了
Popular Events
More
Linux 桌面用户应该都遇到过:内存吃满之后系统不会立刻死,而是先卡上几分钟,鼠标键盘全部失灵,最后只能长按电源。内核不是不
管,是它管得太晚——OOM Killer 要等到内存分配彻底失败才动手,动手之前你已经卡死了。而且它杀谁全看打分,你写到一半的文档可
能正好就是分数最高的那个。
macOS 在这件事上处理得好一些:内存耗尽时系统会把最占内存的几个应用先暂停住,弹个框让你自己决定恢复还是退出。
deepin-liferaft 就是把这套交互搬到了 Deepin 上。
原理不复杂。它每秒读一次内核的 PSI 压力指标(判断阈值直接抄的 Fedora 作业),发现持续高压就用 cgroup.freeze 把最可疑的三
个应用冻住。冻结的应用不再产生任何内存分配,压力马上就降下来,但进程本身完好无损。然后弹出"强制退出应用程序"对话框,要救
要杀随你。就算这时候直接关窗、注销,它退出前也会把冻住的应用全部解开。
名字是救生筏的意思(应用内显示名"内存救生圈")。内存不足这条船该沉还是会沉,它管不了,但能保证沉之前先把人捞上来。
常驻开销大概 13 MiB PSS,闲着的时候基本不干活。源码在 https://github.com/st0nie/deepin-liferaft/ ,欢迎试用。
deepin-liferaft-0.1.0.tar.gz
memory_eater.zip
安装完之后,可能需要手动启用服务,并开启内核的psi功能:
之后更新grub配置并重启电脑:
sudo update-grub && sudo reboot
确认PSI指标存在,即可开始试用了,用systemctl开启服务:
systemctl --user enable deepin-liferaft.service --now
开启后,可以用 python memory_eater.py 来测试,如果工作正常的话,会有这样的弹窗:
已经暂停的程序会以红字显示,选中后点击恢复即可让程序继续工作,直接关掉对话框也能恢复暂停的程序。你可以手动选择需要杀掉的程序,强制退出后,关闭对话框,系统就立刻恢复正常了
2026/8/6 更新,添加调试日志与i18n(目前支持cjk)