[gelöst] Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
smutbert
Beiträge: 5843
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

[gelöst] Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von smutbert » 08.10.2017 20:13:28

Hallo liebe Leute,

keine Ahnung ob das Thema in den Kernelfragen gut aufgehoben ist, aber ich startet es einmal hier:

Bei der Bildbearbeitung wird mein System in letzter Zeit immer öfter so stark ausgelastet, dass es nahezu unbedienbar wird, z. B. beim Stitchen von Panoramen mit hugin. Dabei stören mich gleich ein paar Dinge
  1. Es wird ziemlich viel swap verwendet, obwohl eigentlich meistens (zumindest fast) genug RAM vorhanden ist. Bei 32 GB Hauptspeicher waren zuletzt zusätzlich 7 GB Swap belegt obwohl laut »free -h« auch deutlich weniger als 1 GB Swap genügen hätte müssen..
    Ich nehme an das kann ich mit der swappiness beeinflussen, aber ich frage mich doch ob die default-Werte nicht vielleicht doch irgendeinen Sinn haben - ich mach jedenfalls nicht oft genug solche Sachen um das systematisch Beobachten zu können.
  2. Die grafische Oberfläche reagiert, sogar schon bevor der Auslagerungsspeicher angezapft wird gelegentlich minutenlang gar nicht mehr - gelegentlich friert sogar schon der Mauszeiger ein. Wenn dann tatsächlich nennenswerte Mengen Auslagerungsspeicher verwendet werden ist es mit der Reaktion sowieso meistens fast komplett vorbei bis hugin fertig ist, aber solange sich noch alles im Hauptspeicher abspielt, sehe ich nur doch nur zwei mögliche Ursachen (?)
    1. Den IO-Scheduler - hier habe ich bereits Verbesserungen erzielt, indem ich statt dem Default (CFQ?) deadline verwendet habe.
    2. Das CPU-Scheduling von dem ich schon gleich überhaupt keine Ahnung habe.

Wenn der Beitrag zu lang zum Lesen ist, hier die Kurzfassung meiner Fragen:


Gibt es Empfehlungen für die swappiness - ich hab zwar etwas recherchiert, aber wissen tue ich bis jetzt nur, dass ich mit dem Verhalten bei dem Default von 60 nicht zufrieden bin?
(Wie) kann ich am IO- und CPU-Scheduling so drehen, dass das ganze System unter Last etwas benutzbarer bleibt, außer der Verwendung des deadline-IO-Schedulers?

lg smutbert
Zuletzt geändert von smutbert am 09.10.2017 18:06:21, insgesamt 1-mal geändert.

MSfree
Beiträge: 2729
Registriert: 25.09.2007 19:59:30

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von MSfree » 08.10.2017 20:50:40

smutbert hat geschrieben: ↑ zum Beitrag ↑
08.10.2017 20:13:28
Gibt es Empfehlungen für die swappiness
Die Frage gehört doch in diesen Thread!
viewtopic.php?f=15&t=166971

Ich sage ja schon lange, daß swappiness auf 0 gestellt werden sollte, was bewirkt, daß nicht ein Byte Swap belegt wird, solange noch irgendein letztes Byte RAM freigekratzt werden kann.

Benutzeravatar
smutbert
Beiträge: 5843
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von smutbert » 08.10.2017 21:59:02

Oh je, so schlimm, dass es schon Blasphemie ist?

Aber nachdem was ich gelesen habe [1] kommt 0 einer Deaktivierung von swap gleich und das will ich auf keinen Fall, dazu habe ich (ohne swap-Partition) schon zu oft Bekanntschaft mit dem out-of-memory-killer gemacht. In einem anderen Forum habe ich dagegen gelesen, dass bereits bei 50 und weniger nur mehr ausgelagert wird, wenn es nicht mehr anders geht und es nur mehr darum geht wieviel Aufwand der Kernel treibt die letzten paar Byte freizukratzen.
Also wenn ich nichts komplett falsches gelesen habe, dann will ich, dass meine swappiness mindestens 1 aber höchstens 50 ist, aber ich habe nicht den Eindruck besonders belastbare Quellen gefunden zu haben.

[1] https://en.wikipedia.org/wiki/Swappiness

MSfree
Beiträge: 2729
Registriert: 25.09.2007 19:59:30

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von MSfree » 08.10.2017 22:40:05

smutbert hat geschrieben: ↑ zum Beitrag ↑
08.10.2017 21:59:02
Aber nachdem was ich gelesen habe [1] kommt 0 einer Deaktivierung von swap gleich
Ich fahre alle meine Systeme mit 0 und nein, es wird schon geswapt, wenn es nötig ist. Allerdings wirklich erst als allerletzte Notlösung. Meiner Erfahrung nach ist es einfach Unsinn, RAM für Caches und Buffers zu "verschwenden", wenn Anwendungen RAM brauchen. Solange genug RAM frei ist, wird selbstverständlich weiterhin gecached und gepuffert.

Aber, es steht dir natürlich frei, es selbst auszuprobieren. Wenn du mit 0 in "out of memories" läufst, kannst du den Wert ja einfach etwas hochsetzen, sogar mitten im Betrieb.

wanne
Moderator
Beiträge: 5399
Registriert: 24.05.2010 12:39:42

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von wanne » 09.10.2017 10:26:46

  • Linux holt eine mal geswappte Inhalte erst wieder in den RAM wenn sie benutzt werden. Wenn du sie das erste mal wieder benötigst. Wird ein mal SWAP verwendet, bekommst du das defakto nie wieder leer, weil massenhaft Programme massenhaft Zeug laden, dass sie dann nie wieder verwenden. Das liegt dann auf Ewigkeiten im SWAP. Stört dann aber auch nicht.
  • swapiness wiegt vor allem ab zwischen Dateien cachen vs. nicht swappen.
    Sprich bei hoher swappiness schmeißt er die ersten Programme in den swap damit er viele Bilder, die du gerade bearbeitest in den RAM ziehen kann, damit die schnell bearbeitet werden können.
    Wenn du dann wieder auf die grafische Oberfläche gehst, kann das bei extrem großer swappiness kurz schmerzhaft werden. Auf der anderen Seite, ist der Effekt, dass das Bearbeiten zuungunsten einiger sehr selten genutzten Hintergrund-Programme schneller läuft durchaus gewollt. bei deinen 32GiB kannst du da auch einigermaßen großzügig sein. 60 halte ich allerdings für deutlich zu groß. Du willst IMHO eher so auf 3. Am Ende geht da aber probieren über studieren.
  • Wenn dein System auch sonst so zu den 32GB passt (SSD, moderner Prozessor…) sollte dir die grafische Oberfläche bei default werten nicht einfrieren. Würde da mal gucken ob in der zeit wirklich die IO an den Anschlag geht oder ob du nicht viel eher irgend ein Problem mit der Grafik oder ähnlichem hast
  • Am IO-Scheduler rumspielen kann sehr hilfreich sein. Aber nicht am Algorithmus an sich. Ich würde dir empfehlen das Bildbearbeitungsprogramm mal mit niedrigerer IO-Priorität zu starten.
  • Zu Letzt: SWAP auf einer rotierenden HDD ist einfach nur grauenhaft, da die Zugriffe im SWAP relativ random sind. Da sind SSDs da um den Faktor ~1000 schneller. (Während sie es für lange Dateien nur um den Faktor 10 sind.)
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
smutbert
Beiträge: 5843
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von smutbert » 09.10.2017 10:46:15

Danke

Es sind nur SSDs im System und es ist eine Quadcore CPU mit Hyperthreading - soweit kann ich mich über die Performance nicht beklagen. Problem mit der Grafik habe ich keines, eher mit der Gnome-shell, die sich manchmal merkwürdig verhält, aber ich glaube das hängt mit der IO-Last zusammen. So blöd wie sich das System dann anfühlt werde ich das nächste Mal per ssh zugreifen und mir das per iotop oder so ansehen.

Darf ich euren Antworten auch entnehmen, dass ich den CPU-Scheduler am besten in Ruhe lasse (oder höchstens mit nice die Priorität von aufwändigen Sachen ein bisschen reduziere)?

MSfree
Beiträge: 2729
Registriert: 25.09.2007 19:59:30

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von MSfree » 09.10.2017 11:45:17

smutbert hat geschrieben: ↑ zum Beitrag ↑
09.10.2017 10:46:15
Darf ich euren Antworten auch entnehmen, dass ich den CPU-Scheduler am besten in Ruhe lasse (oder höchstens mit nice die Priorität von aufwändigen Sachen ein bisschen reduziere)?
Weder ionice noch nice werden dir weiterhelfen, wenn die Kiste im Swap abtaucht. Das durch Swap verursachte IO läuft mit Kernelpriorität und swappende Prozesse lasten die CPU nicht aus, so daß nice keinen Einfluß auf die Prozeßpriorität mehr haben kann.

Mein Fazit lautet da nur immer wieder, Swap ist mit aller Gewalt zu vermeiden.

Benutzeravatar
smutbert
Beiträge: 5843
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Swap, IO-Scheduler, unbenutzbarer Desktop, ...

Beitrag von smutbert » 09.10.2017 17:59:15

Ok, ok - Swappiness 10 fühlt sich schon vieeel besser an. Es wird zwar noch recht früh ausgelagert, aber völlig ohne Performanceeinbrüche.
Jetzt bin ich noch weiter runter auf 1.

Trotzdem ist der Desktop gelegentlich auch schon vor der Benutzung von swap sehr sehr zäh geworden, weswegen ich auch das Scheduling in Verdacht hatte. Das hat sich mit deadline statt cfq und zwei Threads weniger weniger aber auch deutlich gebessert.

Das Problem ist damit soweit geschrumpft, dass es keines mehr ist.

Antworten