Новый 4-строчный патч, который может значительно повысить производительность вашей системы

Короче говоря, несколько дней назад один из разработчиков ядра загрузил патч (200 строк кода), что позволило значительно (почти в 10 раз) повысить производительность системы, особенно при работе с многозадачностью при выполнении тяжелой задачи (например, компиляции ядра). Линус поздравил этого разработчика с его большим вкладом. Однако разработчик Red Hat, Леннар Поеттеринг не согласился реализовать это усовершенствование непосредственно из ядра; ему лучше было внести изменения в пользовательское пространство (~ / .bashrc). Линус рассердился и отругал этого разработчика, сказав ему, что результаты говорят сами за себя. Леннар вместо того, чтобы ответить резкими словами, сел альтернатива (которая не требует исправления ядра) и занимает всего 4 строки. В конце концов, они заткнули Линуса ... 

Примечание: этот метод требует поддержки групп задач в ядре Linux (cgroups), то есть применять его могли только пользователи с ядром выше 2.6.36.

Как применить патч в Fedora

1.- Отредактируйте файл ~ / .bashrc.

gedit ~ / .bashrc

2.- Вставьте следующий код в конец файла:

если ["$ PS1"]; тогда
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
эхо $$> / sys / fs / cgroup / cpu / user / $$ / задачи
fi

3.- Выполните следующие команды:

монтировать -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / пользователь

Как применить патч в Ubuntu

В Ubuntu все немного сложнее ...

1.- Отредактируйте файл rc.local с помощью этой команды:

sudo gedit /etc/rc.local

и вставьте перед тем, где написано "exit 0", следующее:

mkdir -p / dev / cgroup / cpu
монтировать -t cgroup cgroup / dev / cgroup / cpu -o cpu
mkdir -m 0777 / dev / cgroup / cpu / пользователь
эхо "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent

2.- Сохраните файл и дайте ему права на выполнение:

sudo chmod + x /etc/rc.local

3.- Отредактируйте файл ~ / .bashrc:

gedit ~ / .bashrc

4.- Вставьте следующий код в конец файла:

если ["$ PS1"];
затем mkdir -m 0700 / dev / cgroup / cpu / user / $$
эхо $$> / dev / cgroup / cpu / user / $$ / tasks
echo "1"> / dev / cgroup / cpu / user / $$ / notify_on_release
fi

5.- Измените файл cgroup_clean:

sudo gedit / usr / local / sbin / cgroup_clean

6.- Вставьте следующий код в конец файла:

#! / Bin / ш
если ["$ *"! = "/ пользователь"]; тогда
rmdir / dev / cgroup / cpu / $ *
fi

7.- Сохраните файл и дайте ему права на выполнение:

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

8.- Перезагрузите систему.

Примечание: если вы видите папку / dev / cgroup /, вы заметите значительное улучшение управления многозадачностью.

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Тальскарт сказал

    Нашел инструкцию к Arch, они здесь: http://pastebin.com/raw.php?i=sHRYRuAN

    Со своей стороны, я применил патч, больших улучшений я не замечаю в целом, но если вы заметите большие изменения при прокрутке веб-страниц, они действительно плавные впервые !!! знак равно

  2.   Давайте использовать Linux сказал

    Большой! Спасибо вам большое за обмен!
    Я говорил вам, что мы ищем людей, которые используют Arch для ведения блога? Если интересно, пишите на давайте использоватьlinux@gmail.com
    Большое объятие! Павел.

  3.   Тальскарт сказал

    Спасибо за приглашение, потом продолжим по почте

  4.   Тальскарт сказал

    Случайно не будет инструкций для Archlinux, верно? 🙂

  5.   Давайте использовать Linux сказал

    Я их не нашел. Но что-то мне подсказывает, что он больше похож на Fedora. С другой стороны, следует иметь в виду, что, поскольку каждый собирает Arch по своему усмотрению, возможно, это влияет на последующую процедуру ...

  6.   Тальскарт сказал

    Здесь я нашел, как применить их в Archlinux, он очень похож на Fedora: http://pastebin.com/raw.php?i=sHRYRuAN

  7.   Микель Майоль и Тур сказал

    bash: / dev / cgroup / cpu / user / $ / tasks: файл или каталог не существует

    Я выполнил эти инструкции, и он продолжает сообщать мне эту ошибку при открытии терминала AMD64 x, если ему есть чем заняться.

  8.   Микель Майоль и Тур сказал

    Я уже нашел это, пожалуйста, пабло поправьте http://www.webupd8.org/2010/11/alternative-to-200-lines-kernel-patch.html

    Что делать в ubuntu - вместо того, что вы положили - это:

    sudo gedit / usr / local / sbin / cgroup_clean

    и поместите это:

    #! / Bin / ш
    если ["$ *"! = "/ пользователь"]; тогда
    rmdir / dev / cgroup / cpu / $ *
    fi

  9.   Давайте использовать Linux сказал

    Готов! Исправлено! Спасибо!

  10.   Давайте использовать Linux сказал

    Это правда! Спасибо за напоминание!
    Я просто добавил это уточнение в начале сообщения.
    Объятья! Павел.

  11.   Дасинекс сказал

    В частности, какие преимущества я получу как пользователь и какие улучшения производительности будут замечены в моей системе.

  12.   Давайте использовать Linux сказал

    Все идет намного быстрее. Однако различия действительно «видны», когда вы выполняете тяжелую задачу и хотите одновременно выполнять другие задачи. Например, вы запускаете установку нескольких программ, компилируете ядро ​​или редактируете тяжелое видео и в то же время хотите путешествовать по Интернету, смотреть фильм и т. Д.

  13.   Давайте использовать Linux сказал

    Дайте мне знать, если вы узнаете, как реализовать патч в Arch. Я бы попробовал запустить тот, который работает в Fedora.
    Объятие! Павел.

  14.   Давайте использовать Linux сказал

    Я предполагаю, что это зависит от того, как вы используете свой компьютер. Если вы почти не пользуетесь Интернетом и небольшим текстовым редактором ... вы не «почувствуете» разницу. С другой стороны, если вы, как и я, выполняете тяжелые задачи (например, конвертируете видео, компилируете ядро ​​и т. Д.) При просмотре Интернета или просмотре фильмов, вы можете заметить разницу.

  15.   Домингопв сказал

    После всех шагов, открывая терминал, я всегда получаю следующее:
    mkdir: невозможно создать каталог «/ dev / cgroup / cpu / user / 1844»: файл или каталог не существует
    bash: / dev / cgroup / cpu / user / 1844 / tasks: файл или каталог не существует
    bash: / dev / cgroup / cpu / user / 1844 / notify_on_release: файл или каталог не существует
    domingopv @ pc1: ~ $
    Все нормально работает даже терминал, что-то не так сделали?

  16.   Давайте использовать Linux сказал

    Мммм ... Я действительно не знаю, что это может быть. Однако у меня сложилось впечатление, что очень вероятно, что вы не выполнили некоторые шаги, особенно начиная с 5 и далее. Попробуйте повторить их или убедитесь, что вы поняли правильно. Это все, о чем я могу думать сейчас.
    Большое объятие! Павел.

  17.   Домингопв сказал

    Переустановите maverick и переустановите патч, и теперь я получаю следующее.
    mkdir: невозможно создать каталог «/ dev / cgroup / cpu / user / 1678»: файл или каталог не существует
    bash: / dev / cgroup / cpu / user / 1678 / tasks: файл или каталог не существует
    bash: / dev / cgroup / cpu / user / 1678 / notify_on_release: файл или каталог не существует
    domingopv @ pc1: ~ $

  18.   Давайте использовать Linux сказал

    Уйы .. Я правда не знаю, что это может быть. У меня это сработало идеально.
    Что-то мне подсказывает, что очистка cgroup не работает. Вот почему я настаивал, чтобы вы видели, начиная с шага 5 и далее.
    Ура! Павел.

  19.   Я не говорю сказал

    Моя мама, впечатляет, я могу видеть флеш-видео 1080p на пассивной nvidia 8400, я имею в виду, плохо, плохо, ИДЕАЛЬНО, процессор все работает, замечательно uffff, это улучшается, это намного лучше, у меня Ubuntu 10.04 😀 хорошо, видео хороши для меня, хахаха 😀

  20.   Делано сказал

    Какой rc.local? Их несколько, что это такое? С уважением.

  21.   Давайте использовать Linux сказал

    Я только что написал команды, перечисленные в пункте 4. Вам не нужно копировать их в файл, но нужно запускать эти команды.
    Ура! Павел.

  22.   Советы по GNU / Linux сказал

    Это плохо объяснено.

    Что вам нужно сделать, так это отредактировать файл rc.local с помощью:

    sudo gedit /etc/rc.local

    Вы должны вставить внутрь (до выхода 0):

    mkdir -p / dev / cgroup / cpu
    монтировать -t cgroup cgroup / dev / cgroup / cpu -o cpu
    mkdir -m 0777 / dev / cgroup / cpu / пользователь
    эхо "/ usr / local / sbin / cgroup_clean"> / dev / cgroup / cpu / release_agent

    Это проблема. Эти шаги плохо объяснены.

  23.   Давайте использовать Linux сказал

    Ты прав! Там ясно сказано: «отредактируйте файл rc.local». Чего не хватало для добавления, так это команды для выполнения такой вещи (о которой некоторые могут не знать). Добавляю прямо сейчас.
    Спасибо за уведомление! Ура! Павел.

  24.   Эспиноза сказал

    Какова будет процедура в PCLinuxOs?

  25.   Давайте использовать Linux сказал

    По правде говоря, я не знаю ...
    Если узнаете, не забудьте поделиться данными с остальными!
    Большое спасибо!
    Ура! Павел.

  26.   гонхо сказал

    Мне кажется или вы не ставили ни одной ссылки откуда взяли? Не могли бы вы сказать мне источник?

    спасибо

  27.   Давайте использовать Linux сказал

    Нет единого источника. Я искал, как это сделать, из разных источников и из личного опыта. В общем, я могу сказать вам, что источники - это миллионы блогов, в которых воспроизводятся эти новости. Найдите «patch 200 linux kernel lines», и вы поймете, о чем я говорю. Я точно не помню, но часть Ubuntu могла быть получена из WebUpd8; не так, как в Fedora.

  28.   Luckyys0921 сказал

    Я не так давно пользователь Ubuntu 64 бит, и когда я вижу этот совет, я начинаю исследовать, и текущее ядро, которое у меня есть, 2.6.32-27, согласно сообщению, этот патч может применяться только к ядрам, которые выше или равны до 2.6.36. У меня вопрос, работает ли это изменение только для 32-битных дистрибутивов или в моем текущем дистрибутиве можно обновить ядро ​​до 2.6.36?

    Спасибо за всю информацию в сети, отличный материал.

  29.   Давайте использовать Linux сказал

    Это изменение работает как для 32-, так и для 64-разрядной версии.
    Ура! Павел.

  30.   Г-н Таксито сказал

    на вопрос, и это не повлияет на последующие обновления?
    Если все пойдет не так, что может случиться в худшем случае?
    (Вы видите, что переход с Ubuntu 10.04 на 10.10 приводит к сбою всего)

  31.   Иисус сказал

    Первое, что следует уточнить (чтобы избежать безответственного использования метода), это то, что он требует поддержки групп задач в ядре Linux (cgroups), то есть только пользователи с ядром выше 2.6.36 могут применять этот метод улучшение.