[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./dualcore_logo.png, 48, align=left)]] Moderne Prozessoren besitzen häufig zwei oder mehr [wikipedia:Mehrkernprozessor:Kerne] (multi-core). Für den Anwender bedeutet dieses, dass mit dem System ein flüssigeres Arbeiten möglich ist, da zusätzliche Kerne für neue Aufgaben bereit stehen und das System dann nicht erst warten muss, bis Ressourcen verfügbar sind. Ubuntu unterstützt von Haus aus solche Prozessoren. In seltenen Fällen kommt es hier zu Problemen, so dass das System nur einen Kern erkennt und somit nicht mit voller Leistung läuft. Dabei ist zu beachten, dass Programme üblicherweise immer nur einen Kern benutzen, es sei denn sie sind für den Einsatz auf Mehrkern-CPUs optimiert. So ist es nicht ungewöhnlich, dass ein Programm einen Kern voll auslastet, der zweite Kern jedoch ungenutzt bleibt. = Diagnose = Hat man den Verdacht, dass das System nicht mit voller Leistung läuft, sollte man erst kurz analysieren, ob Ubuntu alle Prozessorkerne benutzt. Hierfür gibt es verschiedene Wege. Die Desktop-Umgebungen bieten üblicherweise Werkzeuge zur Systemüberwachung an. Dort kann man die Auslastung der CPU ansehen. [[Bild(./systemueberwachung_dualcore.png, 200, right)]] == MATE/Xfce == Bei [:Ubuntu_MATE:] und [:Xubuntu:] kann man die Systemüberwachung nutzen. * Ubuntu MATE: ''"System -> Systemverwaltung -> Systemüberwachung -> Ressourcen"'' * Xubuntu: ''"System -> Systemüberwachung -> Ressourcen"'' Wurde die Mehrkern-CPU vom System richtig erkannt, so sieht man hier pro CPU einen Graphen mit der Prozessorauslastung des jeweiligen Kerns. == KDE == Unter KDE kann man den Systemmonitor über * ''"K-Menü -> Anwendungen -> System -> System Monitor"'' starten. Auf dem zweiten Reiter liegt ein voreingestelltes Arbeitsblatt, das auf vier Grafiken die Systemleistung anzeigt. Es ist jedoch möglich, unter ''"Datei"'' ein neues Arbeitsblatt anzulegen und aus der rechten Infoliste die gewünschten Monitore auszuwählen. Es ist sowohl möglich, die Gesamtauslastung der CPUs als auch der einzelnen Kerne in die selbe Grafik zu ziehen. == Terminal == Am ausführlichsten kann man sich in einem Terminal [2] über die im System verbaute CPU informieren. Über den Befehl {{{#!vorlage Befehl cat /proc/cpuinfo }}} {{{ processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Pentium(R) D CPU 3.00GHz ... processor : 1 vendor_id : GenuineIntel cpu family : 15 model : 6 model name : Intel(R) Pentium(R) D CPU 3.00GHz ... }}} werden pro CPU bzw. Kern zahlreiche Informationen ausgegeben. Sollte hier nur ein Kern erscheinen, so sollte man sich daran machen, das Problem zu beheben. Alternativ kann man auch [:lscpu:] ausführen. = Problembehebung = [[Anker(Kernel)]] == Kernel == Zuerst sollte man überprüfen, ob man den richtigen Kernel benutzt. Nur der so genannte "-generic" Kernel, der üblicherweise bei der Installation von Ubuntu automatisch installiert wird, bietet die Unterstützung für Mehrkern-CPUs. Man sollte immer darauf achten, dass das [:Metapaket:] * '''linux-generic''' installiert ist und dass man beim Booten auch diesen Kernel auswählt. Mehr zu diesem Thema findet man im Artikel [:Kernel:] hier im Wiki. Die konkrete Abfrage der Kernelversion geht am einfachsten über einen Befehl im Terminal [2]: {{{#!vorlage Befehl uname -r }}} Beispielausgabe: {{{ 2.6.22-14-generic }}} [[Anker(nosmp)]] == Bootoptionen == Es gibt für den Kernel [:Bootoptionen:], die spezielle Funktionen aktivieren bzw. deaktivieren können. Auch für die Unterstützung von Mehrkern-CPUs gibt es zwei Optionen, die das Verhalten der Kernels bezüglich einer Mehrkern-CPU regeln. * Über die Option ``nosmp`` wird die Unterstützung für Multicore-CPUs deaktiviert. Diese Option gilt als Problemlösung für manche Probleme. Doch mit dieser Option wird nun mal nur ein Kern genutzt. * Des Weiteren kann man mit der Option ``maxcpus=X`` bestimmen, wie viele Kerne das System benutzen soll. ``maxcpus=1`` würde beispielsweise nur einen Kern einer Multicore-CPU nutzen. Diese Optionen werden über keinen Automatismus gesetzt, sondern müssen vom Anwender selber in die Datei '''/etc/default/grub''' eingetragen werden. Daher sollte man kurz in die Datei sehen und an dieser Stelle {{{ ... ## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 # defoptions=quiet splash nosmp ... }}} nachsehen, ob ``nosmp`` bzw. ``maxcpus=X`` dort eingetragen ist. Falls ja, sollte man die Optionen gegebenenfalls entfernen [3]. Sollten auch nach dem Entfernen dieser die zusätzlichen Kerne immer noch nicht erkannt werden, so sollte man auch auf die bootparameter ``noapic`` und ``nolapic`` prüfen. {{{#!vorlage Hinweis Nach jeder Änderung an der Datei '''/etc/default/grub''' muss die GRUB-2-Konfiguration - die in der Datei '''/boot/grub/grub.cfg''' gespeichert ist - aktualisiert werden. Andernfalls werden Änderungen beim nächsten Systemstart nicht übernommen. Dies erreicht man durch den Befehl [2]: {{{#!vorlage Befehl sudo update-grub \}}} }}} == BIOS-Update == In der Vergangenheit hat es sich oft gezeigt, dass das Problem nicht im Betriebssystem zu suchen ist, sondern im [wikipedia:Basic_Input_Output_System:BIOS] des Rechners. Manche Rechner besitzen dort die Möglichkeit, Multi-Core zu deaktivieren. Andere Mainboards haben das Problem, dass Multi-Core in der genutzten BIOS-Version überhaupt nicht funktioniert. Man sollte daher beim Rechnerstart das BIOS aufrufen, nach Einstellungsmöglichkeiten suchen und sich informieren, ob es evtl. ein BIOS-Update für das Mainboard gibt und dieses [:BIOS_aktualisieren:einspielen]. # tag: Hardware, System