Ubuntu è ottimizzato per CPU multicore?


33

Ubuntu utilizza CPU multicore (come si dice che faccia Windows 7)?

In altre parole, il multitasking è ottimizzato in modo che gli utenti possano trarre vantaggio da più di 4 processori core?


7
La parola "ottimizzato" non ha alcun senso o in questo caso. Il kernel Linux supporta CPU multicore, quindi anche Ubuntu. L '"ottimizzazione" è data dal livello di qualità di questo "supporto".
gd1

2
Se vuoi il massimo delle prestazioni, potresti voler eseguire la versione a 64 bit di Ubuntu che a volte potrebbe essere più veloce in alcune attività.
Anonimo il

@Anonimo Non sarebbe perché può utilizzare più RAM? 32 bit può utilizzare solo così tanti GB di RAM (comprese tutte le schede video, ecc.) Ma necessita di CPU e sistemi operativi speciali.
Pinguino anonimo

Risposte:


45

Sì, Ubuntu è ottimizzato per CPU multicore ed è stato per molti anni.

Alcuni retroscena :

"La versione 2.0 (del kernel Linux) è stata rilasciata il 9 giugno 1996. C'erano 41 versioni della serie. La principale caratteristica della versione 2.0 era il supporto SMP (ovvero la multi-elaborazione simmetrica in un singolo sistema) e il supporto per più tipi di processori ".


4
Fondamentalmente Linux aveva SMP prima dell'Abacus. Ha anche il supporto SSMP2 ma non sapremo mai cosa sarà fino a quando la tecnologia non raggiungerà Linux.
Luis Alvarado,

Certo meglio di Windows! ;)
Paul,

2
@Michael K, per la cronaca, il kernel di Windows NT ha avuto un buon supporto SMP per molto tempo. Se le applicazioni sono abbastanza intelligenti da sfruttare correttamente più processori o core è completamente un'altra questione.
Mircea Chirea,

25

Ubuntu è un sistema operativo, una distribuzione Linux. Un sistema operativo è costituito da diversi componenti software come un kernel, librerie , servizi / demoni, applicazioni, ecc.

Ubuntu utilizza il kernel Linux che utilizza il multiprocessing simmetrico (SMP) e più core. Si adatta molto bene da sistemi single-core single-cpu di fascia bassa a cluster supercomputer di fascia alta con migliaia di CPU multi-core.

Ubuntu viene fornito con centinaia di librerie, alcune delle quali sono multi-thread e thread-safe, altre no. In alcuni casi ha senso che siano multi-thread, in altri non è applicabile, generalmente possibile o non ha molto senso.

Ubuntu viene fornito con centinaia di applicazioni, alcune sono codificate per utilizzare CPU multi-core, altre no. In alcuni casi ha senso codificare l'applicazione in quanto tale, in altri casi non è possibile. Non tutte le applicazioni che potrebbero o dovrebbero utilizzare più core lo fanno.

Esempio ha senso che un gioco utilizzi il multi-core per grafica, audio, rete, fisica, ecc. Ma non ha senso che una calcolatrice, uno strumento di screenshot, un suduko o un editor di menu siano consapevoli del multi-core.


"commercio-safe"? Intendevi sicuro per i thread?
Flimm,

10

Il kernel di Ubuntu supporta CPU multiple da molto tempo ormai, non importa se le sue CPU multi-core o multiple in un sistema, saranno gestite perfettamente.

Una cosa di cui devi essere consapevole, però, solo perché un sistema supporta diverse CPU / core e quelli presenti in un sistema non significa che le tue applicazioni funzioneranno automaticamente più velocemente. Ti viene detto spesso il contrario ora un giorno, è una cosa di marketing.

Affinché un'applicazione possa sfruttare contemporaneamente più CPU / core, deve essere costruita per condividere il carico di processo su tali CPU / core.

Vale a dire: diciamo che stai eseguendo qualcosa di semplice come wordpadin Windows e stai aprendo un enorme file di testo con esso, il tempo di caricamento sarà lo stesso o hai 1 CPU o 1 zillion CPU (per CPU con la stessa velocità del bus e architettura simile OFC).

Lo stesso vale per Linux Kernel e la distribuzione Ubuntu, se un'applicazione viene creata per un singolo thread, non ci sarà più nulla da fare per le CPU.

Una cosa che i sistemi operativi stanno facendo ormai da un giorno per ottimizzare il carico delle applicazioni su più CPU / core è la capacità di eseguire un processo su un core che non è così carico come gli altri, bilanciando così il carico e assicurandosi che i vostri core multipli l'utilizzo è ottimale. In pratica, l'utilizzo di quella tecnica porta solo piccoli miglioramenti di velocità.

Se vuoi davvero vedere i tuoi core brillare devi fare un intenso utilizzo della CPU con programmi che supportano il multiprocessing simmetrico , come l'editing video, ecc.


1

Sì, funziona perfettamente per me e ho più processori e hyper-threading, che ho dimenticato cosa significa, ma sono abbastanza sicuro che significhi qualcosa su ogni processore in grado di eseguire più thread, il che combinato con il fatto che ogni processore ha 2 core, sembra essere un problema. L'unico problema che ho riscontrato finora è che i programmi su Ubuntu tendono a bloccarlo. L'ho fatto accadere meno spesso diminuendo lo swappiness poiché ho 6 GB di RAM.


Il commento che fai sui programmi sospesi potrebbe essere posto meglio in una domanda al riguardo. Se non riesci a trovare le domande appropriate sui programmi sospesi, puoi chiedertelo tu stesso e poi rispondere - va perfettamente bene su askubuntu. Sto Non suggerendo di rimuovere i commenti qui - solo che si condivide la conoscenza che hai imparato da qualche parte dove possa essere trovato più facilmente.
John S Gruber,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.