如何使用 cgroup 内存限制保证响应式桌面

如何使用 cgroup 内存限制保证响应式桌面

我想设置一个内存有限的系统(树莓派),这样应用程序就不会导致桌面(x11、LXDE、openbox、鼠标驱动程序、显卡驱动程序)无响应。

当我打开太多浏览器选项卡时,浏览器会使用太多内存并导致 Linux 将页面交换到磁盘。有些页面可能属于桌面……这会导致键盘或鼠标输入显着滞后,从而无法打开任务管理器并决定终止哪个应用程序。

如果重新启动后,桌面需要 200MB 内存,机器总共有 1GB 内存。

是否可以将 CGROUP 中启动后启动的所有应用程序限制为 800MB 内存,这样当该 CGROUP 中的任何内存消耗超过 800MB 的进程时,它就不会驱逐桌面保持响应所需的任何内存页面?

我不想完全禁用 SWAP,我认为内存饥饿的应用程序最好进行交换并变得缓慢,而不是被 oom-killer 杀死。只要桌面本身不变慢即可。

相关内容