内存不够用导致的卡顿#
使用systemd-oomd去管理内存#
⚙️ 为什么浏览器可能还会偶尔卡顿?#
systemd-oomd 的触发机制比较“宽容”:它会等待系统资源压力达到一定阈值(基于 PSI 指标)才行动。在它出手之前,你可能已经感受到了短暂的卡顿。这是为了避免误杀而做的平衡设计——如果阈值设得太低,可能你正在编辑的文档还没来得及保存就被杀掉了。
🛠️ 如果你想让它更“积极”一点#
可以调整 systemd-oomd 的配置,让它响应更快。不过需要注意:修改系统默认配置有一定风险,建议先在测试环境尝试。
查看当前配置:
cat /etc/systemd/oomd.conf通常这个文件是空的或只有注释,所有默认值都编译在二进制中。
创建自定义配置(需要 root 权限):
sudo mkdir -p /etc/systemd/system/systemd-oomd.service.d sudo tee /etc/systemd/system/systemd-oomd.service.d/override.conf <<EOF [Service] Environment=SYSTEMD_OOM_DEFAULT_MEM_PRESSURE_LIMIT=10% Environment=SYSTEMD_OOM_DEFAULT_MEM_PRESSURE_DURATION_USEC=1s EOF上面的设置会把内存压力阈值从默认的
50%降低到10%,且持续时间从5s缩短到1s。这意味着系统会更敏感、更早出手。重新加载并重启服务:
sudo systemctl daemon-reload sudo systemctl restart systemd-oomd
✅ 总结#
- 你的
systemd-oomd已经正常工作了,系统大概率不会因为浏览器内存泄露而彻底卡死。 - 如果你依然遇到明显卡顿,可以:
- 调整
systemd-oomd的灵敏度(如上所示)。 - 或者安装
earlyoom作为第二道防线:sudo dnf install earlyoom && sudo systemctl enable --now earlyoom。
- 调整