获得200行Linux内核补丁的替代方案
显然,有一个类似于200行内核补丁的替代方案,它不涉及内核升级。
它在这里展示并在这里讨论。
但是,我不确定Ubuntu上的webupd8解决方案(在“在Ubuntu中使用它”一节)是否真的有效。 特别是,./上的一位评论者说他收到了错误信息。 任何人都可以发布实际有效的“正确”方法吗?
建议的解决方案:
根据我到目前为止所阅读的评论,以下内容似乎有效。
(1)在/etc/rc.local
, /etc/rc.local
添加到上面的exit 0
:
mkdir -p /dev/cgroup/cpu mount -t cgroup cgroup /dev/cgroup/cpu -o cpu mkdir -m 0777 /dev/cgroup/cpu/user echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
(2)使用以下内容创建名为/usr/local/sbin/cgroup_clean
的文件:
#!/bin/sh rmdir /dev/cgroup/cpu/$1
(3)在你的~/.bashrc
,添加:
if [ "$PS1" ] ; then mkdir -m 0700 /dev/cgroup/cpu/user/$$ echo $$ > /dev/cgroup/cpu/user/$$/tasks echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release fi
(4)(确保执行位开启)执行
sudo chmod +x /usr/local/sbin/cgroup_clean /etc/rc.local
(5)重启。
上面的答案确实应该修复终端错误消息。 哥德尔,我不确定我理解你的观点。 我会试着解释一下这个变化:
由于创建其他cgroup时notify_on_release的默认值是其父级notify_on_release设置的当前值,因此将/ dev / cgroup / cpu / user / notify_on_release的值设置为1将确保每个子cgroup都启用了notify_on_release,因此release_agent将会运行。 不幸的是,当删除了最后一个“用户”子组cgroup(由release_agent)时,该文件夹也将被删除,从而导致报告错误消息。 一个简单的解决方法是在创建时单独为每个cgroup启用notify_on_release,同时禁用父设置。
希望很容易遵循!
编辑:我已经发布了这个作为对实际答案的评论,虽然看起来我没有足够的声誉这样做(还)。
我使用Web UPD8上的自动脚本将此补丁应用于华硕eee 1000H。 我注意到在运行Flash应用程序的情况下,Google Chrome的性能显着提升。 video更流畅,帧丢失更少.Gnome UI也更快,窗口重绘速度更快。 很酷。 链接文字
Ricardo Ferreira的更新说明
首先编辑你的rc.local文件,运行sudo -H gedit /etc/rc.local
并在exit 0
上面添加以下行:
mkdir -p /dev/cgroup/cpu mount -t cgroup cgroup /dev/cgroup/cpu -o cpu mkdir -m 0777 /dev/cgroup/cpu/user echo "/usr/local/sbin/cgroup_clean" > /dev/cgroup/cpu/release_agent
保存并退出gedit。 现在,让它可执行:
sudo chmod +x /etc/rc.local
执行此操作后,编辑主目录中的.bashrc文件(gedit~ / .bashrc),并在此文件的末尾添加:
if [ "$PS1" ] ; then mkdir -m 0700 /dev/cgroup/cpu/user/$$ echo $$ > /dev/cgroup/cpu/user/$$/tasks echo "1" > /dev/cgroup/cpu/user/$$/notify_on_release fi
最后一件事。 要确保在上一个任务离开时删除cgroup,请运行:
sudo -H gedit /usr/local/sbin/cgroup_clean
并复制粘贴:
#!/bin/sh rmdir /dev/cgroup/cpu/$*
再一次,保存文件,退出gedit并使其可执行:
sudo chmod +x /usr/local/sbin/cgroup_clean
完成! 重新启动计算机以应用更改。