Чи оптимізовано Ubuntu для багатоядерних процесорів?


33

Чи використовує Ubuntu багатоядерні процесори (як це кажуть Windows 7)?

Іншими словами, чи оптимізовано багатозадачність, щоб користувачі скористалися 4+ основними процесорами?


7
Слово "оптимізований" в цьому випадку не має жодного чи малого сенсу. Ядро Linux підтримує багатоядерні процесори, тому і Ubuntu. "Оптимізація" задається рівнем якості цієї "підтримки".
gd1

2
Якщо ви хочете досягти максимальної продуктивності, ви можете запустити 64-бітну версію Ubuntu, яка в деяких випадках може бути швидшою в деяких завданнях.
Анонім

@Anonymous Не так, тому що вона може використовувати більше оперативної пам’яті? 32-бітний може використовувати лише стільки ГБ оперативної пам’яті (включаючи всі відеокарти тощо), але потребує спеціальних процесорів та операційних систем.
Анонімний пінгвін

Відповіді:


45

Так, Ubuntu оптимізований для багатоядерних процесорів і є вже багато років.

Деякі відомості :

"Версія 2.0 (ядра Linux) була випущена 9 червня 1996 року. У серії було 41 випуск. Основною особливістю 2.0 була підтримка SMP (тобто симетрична багатопроцесорна обробка в одній системі) та підтримка більшої кількості процесорів . "


4
В основному Linux мав SMP перед Абаком. Він навіть має підтримку SSMP2, але ми ніколи не дізнаємося, що це, поки технологія не наздожене Linux.
Луїс Альварадо

Звичайно краще, ніж вікна! ;)
Павло

2
@Michael K, для запису ядро ​​Windows NT має хорошу підтримку SMP протягом дуже тривалого часу. Чи є додатки досить розумними, щоб належним чином скористатися кількома процесорами або ядрами, зовсім інша справа.
Mircea Chirea

25

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

Ubuntu використовує ядро Linux, яке використовує симетричну багатопроцесорну (SMP) та декілька ядер. Це дуже добре масштабується від одноядерних систем низького класу до одноядерних систем високого класу до кластерів суперкомп'ютерів високого класу з тисячами багатоядерних процесорів.

Ubuntu поставляється із сотнями бібліотек, частина з яких є багатопотоковою та потоковою, а частина - ні. В деяких випадках для них є сенс бути багатопотоковими, в інших - це не застосовується, загальноможливо або не має великого сенсу.

Ubuntu поставляється із сотнями програм, деякі кодуються для використання багатоядерних процесорів, деякі - ні. У деяких випадках має сенс кодувати додаток як таке, в інших випадках це неможливо. Не всі програми, які могли або повинні використовувати декілька ядер, роблять це.

Наприклад, гра має сенс використовувати багатоядерну графіку, аудіо, мережу, фізику тощо. Але це не має сенсу для калькулятора, інструмента скріншоту, suduko або редактора меню, щоб він був обізнаний у багатьох ядрах.


"безпечно для торгівлі"? Ви мали на увазі безпечну нитку?
Flimm

10

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

Однак ви повинні пам’ятати про одне, лише тому, що система має підтримку декількох процесорів / ядер, і вони присутні в системі, це не означає, що ваші програми автоматично працюватимуть швидше. Зараз вам багато днів говорять протилежне, це маркетингова річ.

Щоб програма одночасно скористалася декількома процесорами / ядрами, її потрібно побудувати для розподілу навантаження процесу над цими процесорами / ядрами.

Тобто: скажемо, що ви працюєте на щось таке просто, як wordpadу Windows, і ви відкриваєте з ним величезний текстовий файл, час завантаження буде однаковим або у вас 1 процесор, або 1 мільйон процесорів (для процесорів з однаковою швидкістю шини та подібною архітектурою офс).

Те саме стосується ядра Linux та дистрибутива Ubuntu, якщо додаток побудовано для однієї нитки, то більше нічого не буде робити процесори.

Одне, що операційні системи роблять зараз за день, щоб оптимізувати завантаження програм на декілька процесорів / ядер, - це можливість запустити процес на ядрі, яке не так завантажене, як інші, таким чином збалансуючи навантаження та переконуючись, що ваші декілька ядер використання оптимальне. На практиці жорстке використання цієї техніки приносить лише невеликі покращення швидкості.

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


1

Так, це прекрасно працює для мене, і у мене є кілька процесорів і гіпер-нарізка, що я забув, що це означає, але я впевнений, що це означає щось про те, що кожен процесор може виконувати кілька потоків, що поєднується з тим, що кожен процесор має 2 ядра, здавалося б, є проблемою. Єдиною проблемою, з якою я стикався до цього часу, є те, що програми на ubuntu, як правило, заморожують її. Я зробив це рідше, зменшуючи свобідність, оскільки у мене є 6 Гб оперативної пам'яті.


Зауваження, які ви робите щодо висячих програм, може бути краще поставити під питання про це. Якщо ви не можете знайти відповідні запитання щодо висячих програм, можете задати їх самостійно, а потім відповісти на них - це абсолютно нормально в askubuntu. Я не пропоную вам видаляти тут коментарі - просто ви поділитесь знаннями, які ви дізналися десь там, де це може бути легше знайти.
John S Gruber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.