вторник, 29 июля 2014 г.

Разгон ядра Linux с помощью ulatency

Хотя Linux прекрасно оптимизирован и позволяет выжать из оборудования 100% производительности, хардкорным линуксоидам показалось этого мало и они создали проект ulatency, позволяющий получить все 146%.
Что такое ulatencyd

ulatencyd — это сервис, который следит за ядром Linux, анализирует информацию о запущенных процессах и через механизм ядра Cgroups динамически изменяет выделяемые каждому процессу ресурсы. В результате получается волшебство:
«Установил ulatencyd и решил заценить прирост производительности. Для этого запустил компиляцию программы в 40 потоков (и это на 2-ядерном процессоре-то), а затем включил кино в FullHD и стал внимательно вглядываться в экран, ожидая увидеть притормаживание и подвисания. Но ничего подобного! Кино воспроизводилось удивительно плавно»

В чем секрет?

Штатный планировщик ядра не делает различий в том, какой именно процесс запускается и для чего. Задача планировщика — предоставить всем процессам равный доступ к ресурсам. ulatencyd же разбивает процессы на категории и отдает преимущество тем, которые должны работать по возможности без заметных прерываний.
Например, одновременно работает процесс, воспроизводящий видео и процесс, компилирующий программу. Прерывания из-за недостатка ресурсов в работе первого процесса сразу будут замечены пользователем, тогда как заметить кратковременные задержки в компиляции невозможно. Следовательно, при распределении ресурсов надо отдать приоритет первому процессу.
Как установить ulatencyd

Наберите в терминале:
sudo apt-get install ulatency ulatencyd


Посмотреть, как он группирует процессы по приоритету, можно выполнив команду:

      ps xaf -eo pid,session,args,cgroup
 

Предупреждение

У некоторых криворуких пользователей после установки ulatencyd ядро вываливалось в panic в процессе загрузки. Если вы не знаете как вернуть работоспособность системе, если подобное случится и у вас, то вам лучше пока не использовать ulatencyd.

Комментариев нет:

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