苹果电脑 Mac OS X 系统上,我们可以用 cputhrottle 这个免费工具,配合活动监视器和终端,把一个软件进程的 CPU 占用率限制在指定值(比如 20%)以内,以防止应为它 “暴走” 而让电脑变卡。原理是当被限制的软件进程 CPU 占用率超过预设值,就利用系统指令 SIGSTOP 将其暂停;CPU 占用率降下来后再用 SIGCONT 指令恢复运行。说起来又是暂停又是继续的,其实电脑上切换得极快,人很难感受到。
注意:过程和原理稍复杂,请根据自身水平和需求决定是否 “折腾”。而且,为保证稳定,尽量不要用在系统进程上。
首先,到官网下载 cputhrottle http://www.willnolan.com/cputhrottle/cputhrottle.html,解压后将 cputhrottle 文件存到桌面。放其它地方也行,但下文的路径需要你自己改了。
打开 Mac 的系统自带软件 “活动监视器”(找不到的点击屏幕右上角放大镜按钮搜索),如上图所示,找到你想限制 CPU 占用率的软件进程,记下它最左侧 “PID” 栏的那组数字。
打开终端(找不到的,还是去右上角搜索),输入的命令是这样的:
chmod 755 ./cputhrottle (第一次使用才要輸入)
sudo ./cputhrottle [PID] [CPU用量]
如果你把 cputhrottle 放在了其它地方,那第一行命令就别 “~/Desktop” 了,改成对应的路径。第三行的 [PID] 要换成你要限制 CPU 占用率的软件的 PID,就是上面说要记住的那个数字。 [CPU用量]换成具体数字,比如限制到 20% 以内,就写 20。
比如,我要把上面那张截图里的 aMule 软件的 CPU 占用率限制为不得超过 20%,就输入:
chmod 755 ./cputhrottle
sudo ./cputhrottle 65869 20
软件重新启动后,它进程的 PID 会改变。所以每次你退出 — 重新启动了限制 CPU 占用率的软件,或者电脑重新开机了(Mac 不用就睡眠吧别关机了),还得重复一遍上面的过程。