GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Ionice hat keinen Einfluss auf nicht synchronisierte Schreibvorgänge (d. h. normale Schreibvorgänge)?

Wenn ich eine große MySQL-Datenbank auslege (ihr Auszug wiegt ungefähr 10 GB)
– erscheint sie fast sofort auf der Festplatte, aber später, wenn der Kernel
entscheidet, sie auf die Festplatte zu spülen, fast der Server Blockierungen und andere IO-Anforderungen
benötigen viel mehr Zeit, um abgeschlossen zu werden, obwohl mysqldump mit ionice -c3 ausgeführt wird,
sodass die Verwendung von ionice keine wirklichen Auswirkungen hat.

Artem

Wenn Sie Daten in den Seitencache schreiben, gibt es kein Feld zum Speichern der E/A-Priorität. Also ionice wird keine Wirkung haben. Habe ich das Recht?

Meine neueste Kernel-Version ist 4.18.16-200.fc28.x86_64 .

Akzeptierte Antwort:

Ja.

Theoretisch erlaubt Ihnen ionice, die E/A eines Befehls so zu priorisieren, wie nice(1) theoretisch seine CPU-Auslastung priorisiert. Dies wäre ein praktischer Weg, um beispielsweise eine große, aber relativ wichtige Kompilierung im Hintergrund ablaufen zu lassen, ohne Ihre interaktive Nutzung der Maschine zu beeinträchtigen.

(Warum ja, ich kompiliere Firefox von Zeit zu Zeit aus den Quellen neu.)

[…]

Das nächste Problem besteht darin, dass ionice selbst dann, wenn es direkt auf einer Festplatte ausgeführt wird tut nichts, um asynchrones Schreiben von E/A zu depriorisieren. Dies ist, nun ja, der Großteil der Schreib-IO, die die meisten Programme ausführen. Ionice kann synchrone Schreibvorgänge verlangsamen (ich habe kein Testprogramm) und es funktioniert definitiv für Lesevorgänge, aber das war's.

https://utcc.utoronto.ca/~cks/space/blog/linux/IoniceNotes


Linux
  1. Linux Setuid funktioniert nicht?

  2. Linux – Warum funktioniert Locale Es_mx, aber nicht Es?

  3. Linux – Warum behält Rsync unter Linux nicht alle Zeitstempel (Erstellungszeit) bei?

  4. Linux – Ldd findet keinen Pfad, wie fügt man ihn hinzu?

  5. Hat der Linux-Kernel eine Hauptfunktion?

Der Linux-Befehl sed ändert die Zieldatei nicht

Warum gibt pr_debug des Linux-Kernels keine Ausgabe aus?

Aktualisiert ein Linux X-Terminal den Zeilenumbruch bei der Größenänderung?

Warum funktioniert diese Regex nicht unter Linux?

Welche Prozesskiller hat Linux?

GPG hat nicht genug Entropie