我在Ubuntu的资源管理方面遇到了一个烦人的问题。经常出现一些程序,比如Google Chrome浏览器,占用100%的CPU和大部分内存。
我希望操作系统始终能够响应,这意味着我希望能够在程序之间切换,移动鼠标或者切换到tty并给操作系统发送命令。因此,我正在寻找一种方法来配置操作系统,让其保留10%的系统资源。目前Ubuntu并不是以这种方式运行,Chrome经常会占用所有的CPU和内存,导致系统无法响应,当然我不能等待超过一两分钟,所以只能长按电源按钮关机。
有没有办法让Ubuntu始终保持响应?至少能够杀掉那些耗费资源的程序吗?(我知道内核最终会杀掉一些程序来释放空间,但我希望能够强制它更快地执行或者为自身保留更多的资源)
我希望操作系统始终能够响应,这意味着我希望能够在程序之间切换,移动鼠标或者切换到tty并给操作系统发送命令。因此,我正在寻找一种方法来配置操作系统,让其保留10%的系统资源。目前Ubuntu并不是以这种方式运行,Chrome经常会占用所有的CPU和内存,导致系统无法响应,当然我不能等待超过一两分钟,所以只能长按电源按钮关机。
有没有办法让Ubuntu始终保持响应?至少能够杀掉那些耗费资源的程序吗?(我知道内核最终会杀掉一些程序来释放空间,但我希望能够强制它更快地执行或者为自身保留更多的资源)
Version: UBUNTU 14.04
~$ uname -a
Linux spielplatz 3.13.0-45-generic #74-Ubuntu SMP Tue Jan 13 19:36:28 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
CPU: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
RAM: 8GB
更新(2017年10月8日)
到目前为止,我找到的最佳解决方案是使用cgroups。这里有一个gist。