Новий 4-рядковий патч, який може значно підвищити продуктивність вашої системи

Якщо коротко, кілька днів тому один із розробників ядра завантажив патч (200 рядків коду), що дозволило значно покращити (майже в 10 разів) продуктивність системи, особливо при роботі з багатозадачністю під час виконання важкого завдання (наприклад, компіляції ядра). Лінус привітав цього розробника за його великий внесок. Однак розробник Red Hat, Lennar Poettering не погодився впровадити це вдосконалення безпосередньо з ядра; йому було краще внести зміни в користувальницький простір (~ / .bashrc). Лінус розсердився і зневажив цього розробника, сказавши йому, що результати говорять самі за себе. Леннар, замість того, щоб відповісти різкими словами, сів і придумав альтернатива (яка не потребує виправлення ядра) і яка займає лише 4 рядки. Зрештою, вони замовкли Лінуса ... 

Примітка: цей метод вимагає підтримки груп завдань у ядрі Linux (cgroups), тобто застосовувати його могли лише користувачі з ядром вище 2.6.36.

Як застосувати патч у Fedora

1. - Відредагуйте файл ~ / .bashrc.

gedit ~ / .bashrc

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

if ["$ PS1"]; тоді
mkdir -m 0700 / sys / fs / cgroup / cpu / user / $$
echo $$> / sys / fs / cgroup / cpu / user / $$ / tasks
fi

3. - Виконайте такі команди:

монтувати -t cgroup cgroup / sys / fs / cgroup / cpu -o cpu
mkdir -m 0777 / sys / fs / cgroup / cpu / user

Як застосувати патч в Ubuntu

В Ubuntu все трохи складніше ...

1. - Відредагуйте файл rc.локальний за допомогою цієї команди:

sudo gedit /etc/rc.local

і вставте перед тим, де написано "вихід 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. - Збережіть файл і надайте йому дозволи на виконання:

sudo chmod + x /etc/rc.local

3. - Відредагуйте файл ~ / .bashrc:

gedit ~ / .bashrc

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

if ["$ PS1"];
тоді mkdir -m 0700 / dev / cgroup / cpu / user / $$
echo $$> / 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 для ведення блогу? Якщо вам цікаво, пишіть нам давайте uselinux@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, я маю на увазі, погано погано, ВДОСНОВНО, процесор все працює, чудовий уфффф, це покращується, це набагато краще, у мене 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
    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

    У цьому проблема. Ці кроки погано пояснені.

  23.   Давайте використовувати Linux - сказав він

    Ти правий! У ньому чітко сказано: "відредагуйте файл rc.local". Чого не вистачало для додавання, це команда робити щось таке (про що деякі можуть і не знати). Я додаю це прямо зараз.
    Дякуємо за повідомлення! На здоров’я! Павло.

  24.   Еспіноза - сказав він

    Якою буде процедура в PCLinuxOs?

  25.   Давайте використовувати Linux - сказав він

    Правда я не знаю ...
    Якщо ви дізнаєтесь, не забудьте поділитися даними з рештою!
    Велике спасибі!
    На здоров’я! Павло.

  26.   гонхо - сказав він

    Мені здається, чи ви не вказали жодного посилання звідки ви його взяли? Не могли б ви сказати мені джерело?

    Грекіас

  27.   Давайте використовувати Linux - сказав він

    Єдиного джерела не існує. Я шукав, як це зробити з різних джерел та на власному особистому досвіді. Загалом, я можу сказати вам, що джерелами є мільйони блогів, які відтворювали ці новини. Шукайте "виправити 200 ліній ядра Linux", і ви побачите, про що я говорю. Я точно не пам’ятаю, але частина Ubuntu, можливо, була отримана з WebUpd8; не так для Fedora.

  28.   удача0921 - сказав він

    Я користувач не так давно, 64-розрядної версії ubuntu, і коли я бачу цю підказку, я починаю досліджувати, і поточне ядро, яке я маю, становить 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 можуть застосовувати цей метод вдосконалення.