Hallo Urs,
 
Einfach mal die Prozesse nach Prozessorlast bzw. Hauptspeichernutzung sortieren.
Je mehr Programme offen sind, desto mehr Hauptspeicher wird genutzt. Irgendwann wird dann ein Teil in den Swap-Bereich verschoben - bevorzugt erstmal die wenig genutzten Teile.
Die Swap-Nutzung sollte man auch beobachten. Ein Teil des Hauptspeichers wird als Festplattencache genutzt. Deshalb ist meistens ein großer Teil des Hauptspeichers im Einsatz. Bei mehr Programmen wird der Festplattencache kleiner - und die Prozesse etwas zäher.
 
https://www.cyberciti.biz/faq/linux-check-memory-usage/
 
Hat der Grafikchip einen eigenen Grafikspeicher oder wird ein Teil des normalen RAM dafür genutzt? Bei Nutzung des RAM hat man bei drei Bildschirmen natürlich immer ein größerer Teil RAM-Lesedurchfluss für die Monitore ausgenutzt.
 
Hast du eine SSD im Laptop? Bei vielen Programmen wird auch viel von der Festplatte gelesen, vor allem bei Swap-Nutzung.
Steigt die Festplatten-Lesenutzung im Laufe des Tages?
 
Viele Grüße,
Stefan.
 
Gesendet: Samstag, 01. August 2020 um 08:13 Uhr
Von: "Urs Liska" <ul@openlilylib.org>
An: "Stefan Ziegler" <stefan.ziegler_zst@gmx.de>
Cc: "flug@lug-freiburg.de" <flug@lug-freiburg.de>
Betreff: Re: Re: Möglichkeiten der Performance-analyse und -verbesserung
Hallo Stefan (und die Gruppe wieder im CC),
 
oh je, da habe ich mit dem Anekdotischen den Blick fürs Wesentliche verstellt ...
 
Am Samstag, den 01.08.2020, 00:34 +0200 schrieb Stefan Ziegler:
Hallo Urs,
 
Gesendet: Freitag, 31. Juli 2020 um 07:53 Uhr von: "Urs Liska" <ul@openlilylib.org>
Kommt beides in Frage. Grafische Programme erlauben einem ja manchmal
einfach schon einen ganz intuitiven Zugang zu solchen Problemen. Aber
irgendwie hätte ich auch jedesmal den Verdacht, dass das Tool selbst in
die Gleichung eingreift.
 
ich habe hier beim mir top im Kommandozeilenfenster und die "Gnome Systemüberwachung als grafisches Tool.
Bei Einschaltung der Webcam geht die CPU-Nutzung um einige Prozent hoch, aber nicht merklich.
(4 Cores ohne laufende Kompilierung)
 
So, ich habe einmal die Webkonferenz im Browser aktiviert (also noch im lokalen Modus die Kamera an ohne echte Konferenz). Das Bild sieht unauffällig aus, der eine Peak ist beim *Ausschalten* der Kamera.
 
 
Eine Schwierigkeit ist, dass meine Probleme ja nicht wirklich reproduzierbar sind, sondern nur tendenziell auftreten, also im live-Betrieb, wenn ich meistens über den Tag verteilt immer mehr Anwendungen offen habe. Jetzt gerade bin ich sowieso zuhause ohne externe Monitore, echte Tests kann ich erst wieder Montag machen.
 
 
Wie würde ich am besten die Last einer laufenden Webcam beobachten?
 
Bei der ersten Analyse sollte man schon auf CPU und Hauptspeicherauslastung schauen. Erst wenn das nicht auffällig ist, kann man woanders suchen.
 
So, hier wäre meine Frage gewesen: Wie finde ich die Prozesse, die ich beobachten soll?
Wie schon irgendwo gesagt, bin ich mir sicher, dass weder der Hauptspeicher noch die CPUs in Summe jemals vollaufen, das kann also das Problem nicht erklären. Es kann natürlich sein, dass ein Prozess nicht Multithreading-fähig ist, eine einzelne CPU blockiert und damit das Gesamtsystem irgendwie beeinträchtigt.
 
 
Auch eine Hardwareerweiterung macht ohne Analyse der Ursache nur
wenig Sinn.
 
Ja, genau deswegen schreibe ich ja hier.
Im Kontext meines ursprünglich angedachten und nun geänderten
Nutzungsverhaltens hätte ich vielleicht ohne nähere Prüfung eine
dedizierte Grafikkarte installiert. Da das aber nicht geht, muss ich
wohl etwas tiefer einsteigen.
 
Die Auslastung der Grafikkarte kann man mit den üblichen Systemwerkzeugen schlecht anzeigen.
Ich würde es auch bei drei Monitoren weniger auf die Grafikkarte schieben. Die Grafikkarte hat keine Auswirkung auf Webcams oder Kompiler.
Wenn das Kompilieren länger dauert, dann kann das eigentlich nur die CPU oder irgendeine Art IO-Durchfluss sein.
 
Kann man zumindest ein Teil der Kompilierung auf einen anderen Rechner ("Compute Server") auslagern, wenn diese so zeitkritisch ist?
6 Cores sind gut. Wieviel Cores bekommen die Kompiler normalerweise und wieviel bei Webcam-Nutzung?
Wie schwankt die CPU-Auslastung bei den beiden Fällen mit/ohne Webcam?
Wenn du 10 Cores für Lilypond nutzt (also 10 Hyperthreading, oder 5 Real-Cores), dann bleibt nur ein 1 Real-Core für den ganzen Rest von Webcam, grafische Oberfläche, Browser usw. übrig. Das fühlt sich natürlich zäh an.
Sehr wahrscheinlich wird es weniger zäh, wenn du 2 Real-Cores für den Rest übrig lässt und nur 8 HT-Cores für Lilypond nutzt.
 
So, hier habe ich dich offensichtlich völlig abgelenkt.
Die Konstruktion mit dem parallelen Kompilieren ist gar nicht das Problem. Wenn ich 10 Cores für Kompilieren nutze, ist klar, dass der Rest des Systems träge wird. Der Punkt *daran* ist eigentlich nur, dass ich es cool finde, dass es überhaupt möglich ist. Ohne meine JobQueue würde ich ja Tausende von Prozessen starten und das OS damit "alleine lassen" - und das führte erwartungsgemäß dazu, dass alles völlig überlastet wird.
D.h. wenn ich diesen Vorgang starte, dann erwarte ich nicht, dass mein Rechner noch flüssig läuft, und das mache ich auch nur ganz gelegentlich, und bestimmt nicht parallel zu einer Videkonferenz.
 
Mein praktisches Problem ist, dass, während Videkonferenzen laufen oder ich in Kdenlive mit Videos arbeite, mein Desktop insgesamt oft träge wird, und zwar oft in einem Maß, das das flüssige Arbeiten (also mal nebenher eine LibreOffice-Instanz zu öffnen oder etwas in einem Web-Interface zu machen) merklich behindert. Die Beobachtung, dass in diesem Zustand auch Compiler deutlich mehr Zeit brauchen, ist nur eine Zusatzinfo und hat mit dem aktuellen Use Case nicht wirklich zu tun. Manchmal nutze ich das, indem ich während der VK Dokumente mit LaTeX kompiliere, aber das ist nicht das Wesentliche.
 
Herzliche Grüße
Urs
 
 
Viele Grüße, Stefan.