Получение альтернативы Патчу ядра Linux С 200 строками работать

По-видимому, существует сопоставимая альтернатива патчу ядра с 200 строками, который не включает обновления ядра.

Это представлено здесь и обсуждено здесь.

Однако я не уверен, работает ли решение webupd8 (под разделом "Use it in Ubuntu") на Ubuntu на самом деле или нет. В частности, один комментатор на./говорит, что получает сообщение об ошибке. Кто-либо мог отправить "корректный" метод, который на самом деле работает?

Предложенное решение:

На основе комментариев я читал до сих пор, следующее, кажется, работает.

(1) В /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) Перезагрузка.

3
задан 13 April 2017 в 15:24

3 ответа

Ответ выше должен действительно исправить сообщение об ошибке терминала. Гедель, я не уверен, что понял твою мысль. Я попытаюсь объяснить изменение:

Поскольку значением notify_on_release при создании других cgroups по умолчанию является текущее значение параметра notify_on_release их родителей, задается значение / dev / cgroup / cpu / user / notify_on_release значение 1 будет гарантировать, что для каждой дочерней группы включена функция notify_on_release и, следовательно, будет запущен release_agent. К сожалению, когда последняя дочерняя группа «user» была удалена (release_agent), эта папка также будет удалена, что приведет к сообщениям об ошибках. Простой обходной путь - включить notify_on_release для каждой cgroup отдельно при создании, оставив родительский параметр отключенным.

Надеюсь, за этим было легко следить!

Редактировать: Я бы опубликовал это как комментарий к фактическому ответу, хотя, похоже, у меня недостаточно репутации, чтобы сделать это (пока). [ 113]

0
ответ дан 13 April 2017 в 15:24

Я применил этот патч с помощью автоматического скрипта в Web UPD8 к Asus eee 1000H. Я заметил значительное увеличение производительности в Google Chrome с запущенными приложениями Flash. Видео было более плавным и с меньшим количеством кадров. Пользовательский интерфейс Gnome также стал быстрее и быстрее перерисовывался. Очень круто. текст ссылки

0
ответ дан 13 April 2017 в 15:24

Обновленные инструкции от Рикардо Феррейры

Начните с редактирования файла 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

И последнее. Чтобы убедиться, что cgroups удаляются при выходе из последней задачи, выполните:

sudo -H gedit /usr/local/sbin/cgroup_clean

и скопируйте и вставьте это:

#!/bin/sh
rmdir /dev/cgroup/cpu/$*

Еще раз, сохраните файл, выйдите из gedit и выполните это исполняемый файл:

sudo chmod +x /usr/local/sbin/cgroup_clean

Готово! Перезагрузите компьютер, чтобы применить изменения.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: