Ядро 1000 Гц linux необхідно, якщо у мене є таймер і таймер високої роздільної здатності?


13

Я намагаюся покращити продуктивність на своєму сервері. У мене є кілька процесів, які потребують низького тремтіння (менше 10 мс відхилення).

У мене середнє навантаження 4 максимум на i7-920 (4 фізичні ядра, 8 з HT). Існує близько 10 процесів, починаючи від 40% до 90% в основному режимі користувача. Використання системи становить 3%. Загальне використання процесора становить не більше 80%.

Чи дозволить встановлення ядра від 100 ГГц до 1000 Гц покращити тремтіння, якщо вже встановлені галочки та таймери високої роздільної здатності?

Здається, ця сторінка вказує, що вона все-таки щось робить. https://lkml.org/lkml/2009/4/28/401

Як щодо переходу від добровільного (PREEMPT_VOLUNTARY) до придатного (PREEMPT)?


Деталі / версія розповсюдження ОС?
ewwhite

Ubuntu 11.10 64bit сервер Linux 3.3 ядро.
Боб

У вас багато завантаження в режимі користувача; системний час порівняно незначний. Я б не пропонував танцювати навколо мелодій ядра. Або отримання плану в режимі реального часу - це те, що ви сподіваєтесь досягти?
yrk

Так ви кажете, якщо використання системи низьке, нічого з цього не має значення для чуйності?
Боб

Відповіді:


4

Я намагаюся покращити продуктивність на своєму сервері. У мене є кілька процесів, які потребують низького тремтіння (менше 10 мс відхилення).

Будь-який реальний час не покращить продуктивність, фактично це зробить роботу всієї системи плавнішою, але трохи повільнішою. Іншими словами, це пропускна здатність проти затримки. Якщо це дійсно те, що вам потрібно, то кілька варіантів:

  • Використовуйте PREEMPT 300 Гц або навіть 1 КГц, і не використовуйте без галочок
  • Використовуйте nice, schedtoolщоб привласнити відповідні пріоритети / класи в відповідно до ваших потреб
  • Спробуйте RT або BFS

Що не так з використанням галочки?
Боб

1
@Bob, Це добре для енергозбереження, але у випадку, коли ви піклуєтесь про затримку, рекомендується вимкнути, наприклад, ck.kolivas.org/patches/bfs/bfs-configuration-faq.txt
poige

3

Якщо для вас важливий низький тремтіння, так, ви можете використовувати як 1000 ГГц, так і PREEMPT.

Якщо ці процеси дійсно залежать від часу, подумайте, вам, напевно, знадобляться ще кілька патчів / ядер, орієнтованих на реальне в режимі реального часу, або хоча б деякі параметри планування рівня процесу, наприклад, rtprio.

Типовими способами є аудіосервери , див., Наприклад, поради від jackaudio


3

1) Не використовуйте галочку, вона все ще дуже експериментальна і не рекомендується нікому, окрім розробників, які працюють над нею, вона також повинна допомогти зберегти потужність.

2) Повністю передбачувана система повинна підвищити чутливість дектора, тоді як добровільна привілейка - для загального використання (поєднання чутливості та коригування). Якщо ваш сервер отримав SMP (декілька ядер), вам, ймовірно, слід скористатися непридатними, оскільки більшість робіт буде виконано на своїх ядрах і без переривань, що, як правило, 1) потребує часу 2) сміттєвий кеш

3) 1000 Гц - це настільне значення, яке вводить накладні витрати, але дозволяє, наприклад, грати в ігри та інше. 300 Гц - це значення, яке рекомендується для відео (тому матеріал може перенести графік, і ви все одно не пропустите кадри), в той час як 100 Гц забезпечує найкращу пропускну здатність (хоча і не орієнтовану на дрібну мережу).

Якщо ви хочете бути стабільними, як це стає (не використовуючи RT-патчі), вам слід перейти: періодичні тики (стабільність), непередбачувані (стабільність) таймери частоти (до вас, 1000 для найкращої чуйності та низької тривалості, 100 для найкраща пропускна здатність, але 10-метрова роздільна здатність на таймері, наприклад, робота буде працювати не менше 10 мс)

Сподіваюсь, це дещо допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.