获得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 

完成! 重新启动计算机以应用更改。