staging.inyokaproject.org

Kernel

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Kernel.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi L.A.S.,

das Anzeigen von /proc/cpuinfo, damit man nach dem Flag schaut, ist in der Hinweisbox untendrunter beschrieben. Bei dem Befehl in der Befehlsbox (vorher nur cat, jetzt grep) sollte man wirklich die CPUs zählen, also passt das so wie ich das sehe mit "grep -c processor /proc/cpuinfo".

Und nein, bei mir hat alles ootb funktioniert (Debian).

Gruss Lasall

L.A.S.

Anmeldungsdatum:
15. April 2012

Beiträge: 966

Voll doof ich hatte meinen letzten Beitrag editiert und das genauer beschrieben auf "Veröffentlichen" gedrückt und dann kam "Du kannst diesen Beitrag nicht mehr bearbeiten" ☹

Im Prinzip muss ja nur ein Unterschied zwischen
grep cpuid /proc/cpuinfo und
grep cpu /proc/cpu
bestehen um feszustellen, ob es virtuelle Prozessoren gibt. Womit dann auch gleich gklärt ist, dass man nix zusätzlich aktivieren muss. Hintergrund:

Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um tatsächlich zwei unabhängige und dementsprechend schnelle Prozessoren, während es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware-Threads handelt.

Quelle: SMT – Abgrenzung zur Mehrkern-Architektur

Den flag kann man auch genauso abfragen: grep ht /proc/cpuinfo

Mich hatte halt extrem verwirrt, das ich bei der Abfrage nach processor als Wert=0 angezeigt bekam, Kurze Bestätigung: "grep -c processor /proc/cpuinfo" passt auch bei mir.

edit: Eine Frage noch: Hast Du 32- oder 64-Bit installiert? Blöde Frage, fast schon unverschämt, ich könnte ja auch mal Raten 😈

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi L.A.S.,

hier die zwei Ausgaben auf meinem Rechner:

$ grep cpu /proc/cpuinfo
cpu family      : 6
cpu MHz         : 2267.000
cpu cores       : 2
cpuid level     : 11
cpu family      : 6
cpu MHz         : 1199.000
cpu cores       : 2
cpuid level     : 11
cpu family      : 6
cpu MHz         : 1199.000
cpu cores       : 2
cpuid level     : 11
cpu family      : 6
cpu MHz         : 2267.000
cpu cores       : 2
cpuid level     : 11
$ grep cpuid /proc/cpuinfo
cpuid level     : 11
cpuid level     : 11
cpuid level     : 11
cpuid level     : 11

Jeder virtuelle Prozessor auf (zumindest halbwegs aktuellen) x86 hat so einen Block:

processor
vendor_id
cpu family
model
model name
stepping
microcode
cpu MHz
cache size
physical id
siblings
core id
cpu cores
apicid
initial apicid
fpu
fpu_exception
cpuid level
wp
flags
bogomips
clflush size
cache_alignment
address sizes
power management

"cpu" kommt also immer viermal so oft wie "cpuid" vor, egal ob nun ob durch Hyperthreading die Maximalanzahl an virtuellen Prozessoren genutzt wird. Um die Differenz von Kernen und virtuellen Prozessoren zu bekommen, ist das nicht ausreichend. Am besten schaut man in der gut lesbaren Ausgabe von lscpu unter "Thread(s) per core" oder auf der Shell mit: if [ "$(grep -c processor /proc/cpuinfo)" -gt "$(grep "cores" /proc/cpuinfo | grep -o "[[:digit:]]" | uniq)" ]; then echo "Hyptherthreading aktiviert"; else echo "Kein Hyperthreading"; fi

Du schriebst:

Mich hatte halt extrem verwirrt, das ich bei der Abfrage nach processor als Wert=0 angezeigt bekam, Kurze Bestätigung: "grep -c processor /proc/cpuinfo" passt auch bei mir.

Heißt das jetzt, dass "processor" funktioniert hat oder nicht?

Info zu meiner Hardware und Betriebssystem ist auf meiner Benutzerseite.

tl;dr: Ich passe das mal mit lscpu an, das dürfte dann eindeutig sein.

Gruss Lasall

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

OT:

grep -o "[[:digit:]]"

Genial. ☺

MoonKid

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

Ich wünsche mir für diesen Artikel einen Abschnitt zur Kernel Panic. Hab selbst nicht viel Ahnung davon. 😉

btw: lscpu verursacht bei mir Fehler. 😀

1
2
user@kubuntu-monster:~$ lscpu
Gleitkomma-Ausnahme (Speicherabzug geschrieben)

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi MoonKid,

aber was würde dann dort stehen?

Gruss Lasall

MoonKid

Anmeldungsdatum:
9. Februar 2012

Beiträge: 1379

Lasall schrieb:

aber was würde dann dort stehen?

z.B. ob ein Panic auch vorliegen kann, wenn es nicht am Bildschirm angezeigt wird. Sieht man es an den Tastatur-LEDs? Wird ein log geschrieben, dass ich einsehen könnte?

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi MoonKid,

die ersten zwei Punkte halte ich für zu spezifisch, um erwähnt zu werden. Das mit den Logs sollte unter Logdateien stehen. Ein genereller Hinweis, wie man bei Kernelpanics vorgeht, wäre vielleicht ganz praktisch, mir fällt aber keine Lösung ein, als einen anderen Kernel zu nehmen.

Gruss Lasall

kaputtnik

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 9245

Spricht etwas dagegen, bei Kernel#Kernel-deinstallieren die Kommandozeilenversion zu ergänzen? Also

sudo apt-get purge linux-image-3.0.0-16-generic
sudo apt-get purge linux-headers-3.0.0-16-generic

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi kaputtnik,

ich würde das wegen Redundanz nicht hinzufügen. Wie man Pakete deinstalliert ist ja direkt verlinkt.

Gruss Lasall

Qny

Anmeldungsdatum:
2. Mai 2011

Beiträge: 10

Hi kaputtnik und Lasall,

ich möchte mich für den Änderungsvorschlag von kaputtnik aussprechen. Versteh mich nicht falsch, ich bin ein großer Fan davon Redundanz zu vermeiden. Aber anhand meines folgenden kleinen Erfahrungsberichts, möchte ich darstellen, warum es keine Redundanz ist und diese Zeile getrost irgendwo einmal stehen darf:

Ich bin erst kürzlich auf ein Problem gestoßen, was durch Deinstallation alter Kernel gelöst werden könnte. Doch stand ich noch nie vor dem Problem in Ubuntu etwas wieder deinstallieren zu müssen. Bisher hat mir dieses Wiki in so einem Fall immer weiter geholfen, aber dieses Mal haben mir die Anweisung

Will man also im obigen Beispiel den älteren Kernel 3.0.0-16-generic (und Headerdateien) deinstallieren, so sucht man in der Paketverwaltung [1] nach den Paketen ... und deinstalliert sie.

und die direkt verlinkte Wiki-Seite nichts weiter geholfen. Das verwundert mich nicht, schließlich lande ich mit dem Vorhaben etwas zu deinstallieren auf der Seite "Pakete installieren", was schon irgendwie konfus wirkt. Darin wird mir das Ubuntu-eigene Software-Center zuerst aufgelistet. Also such ich darin nach den Paketen, wie es mir die Textstelle rät, doch dort finde ich weder einen installierten Kernel oder noch die Option ihn zu deinstallieren. Also weiter im direkt verlinkten Wiki: Eine andere Paketverwaltung ist nicht installiert und Kubuntu trifft auch nicht zu, so landet man schließlich beim bekannten apt-get, aber auch hier wird einem nicht die Option "Paket deinstallieren" geboten. Natürlich kann man verlangen das Wiki gründlicher lesen zu müssen, jedoch ist man bereits auf dem 2. weiterführenden Link und kann deswegen bereits berechtigte Zweifel hegen, ob das noch hilfreich für das eigene Anliegen ist. Liest man trotzdem, werden dem unerfahrenen Ubuntu-Nutzer gleich 3 Möglichkeiten geliefert ein Paket mittels apt-get zu deinstallieren. Ein Laie, wie ich, denkt nun "Linux-Kern ist wichtig, da darf ich nichts falsch machen und muss die richtige der 3 Wege wählen", doch welcher ist der richtige? Und schließlich leitet das direkt verlinkte Wiki einen auf ein Übersichtswiki Paketverwaltung weiter, doch auch hier finde ich keine neuen Informationen.

Ein wenig verarscht kam ich mir dann jedoch vor, als ich im Ubuntu-FAQ unter Software - Alte Kernel löschen? eine Verlinkung auf dieses Kernel-Wiki fand.

Schließlich half mir nur eine weitere Suche, die mich auf datenwerk.de führte, wo mir die folgende, überaus nützliche Zeile Schritt für Schritt erklärt wurde und meines Erachtens nach auch als Tipp in das Wiki aufgenommen werden könnte.

dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

frustschieber Team-Icon

Ehemalige
Avatar von frustschieber

Anmeldungsdatum:
4. Januar 2007

Beiträge: 4259

Lasall schrieb:

Hi kaputtnik,

ich würde das wegen Redundanz nicht hinzufügen. Wie man Pakete deinstalliert ist ja direkt verlinkt.

Gruss Lasall

-1

Die Wissensbox verweist leider nur auf eine Übersicht zum Installieren. Das Softwarecenter zeigt bei "installierte" die Linux-kernel (bei mir) nicht an, somit ist die Aufgabe "deinstallier mal" nicht trivial. Fände in der Tat den Konsolenhinweis sehr hilfreich. Bislang musste ich über Synaptic gehen ...

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi frustschieber,

mit der Argumentation müssten wir aber bei allen Programmen, die als "technisch" eingestuft werden (also nicht im Software-Center aufgelistet werden), einen Extra-Deinstallationsbefehl in den jeweiligen Artikel schreiben. Und das nur weil das Software-Center nicht alle Programme zum Deinstallieren anzeigt. Deswegen sollte besser der Software-Center-Artikel angepasst werden z.B. mit einem Hinweis darauf oder falls das geht, wie man doch alle Pakete anzeigen lassen kann.

Gruss Lasall

frustschieber Team-Icon

Ehemalige
Avatar von frustschieber

Anmeldungsdatum:
4. Januar 2007

Beiträge: 4259

Verweis als Problembehebung in Pakete installieren eingefügt.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi frustschieber,

ich würde das im Software-Center-Artikel passender finden (imho für einen Übersichtsartikel zu spezialisiert). Das Problem, dass die Pakete nicht deinstallierbar sind, betrifft ja nur das Software-Center. In diesem Artikel (hier) kann man ja noch erwähnen, dass man das Software-Center dazu nicht nutzen kann.

Gruss Lasall