Ext4lazyinit zwingen, seine Sache zu beenden?


18

Gibt es eine Möglichkeit, die ext4lazyinitAusführung mit maximaler Priorität zu erzwingen ? Etwas wie "Ich kümmere mich nicht um die Ressourcen meines Systems, erledige deine Arbeit einfach so schnell du kannst"?

Ich sollte hinzufügen: Ohne das Laufwerk neu zu formatieren. Mir ist die Option lazy_itable_init von mkfs bekannt.


Klingt für mich ziemlich XY . Was versuchst du eigentlich zu erreichen?
Daniel B

3
Mein Raspberry Pi hat mehrere Stunden gebraucht, um ext4lazyinit auf einer externen Festplatte fertigzustellen. Ich wollte testen, ob sich die Festplatte nach einiger Zeit der Inaktivität richtig dreht, aber das war aufgrund von ext4lazyinit nicht möglich. Nach dem Betrachten eines Kernel-Codes ( github.com/torvalds/linux/blob/master/fs/ext4/super.c#L2931 ) scheint es nicht möglich zu sein, den Thread zum Beenden zu zwingen, da die Verzögerungen etwas fest codiert sind. Das ist jedoch keine endgültige Antwort, ich bin kein Kernel- oder ext4-Experte und habe nur einen Blick auf diese Funktion geworfen.
Marius

@Marius Sie haben Recht, dass die Verzögerung fest codiert ist.
Moshe Katz

Antworten:


15

Um ext4lazyinit zu zwingen, die Ausführung mit maximaler Priorität zu beenden, müssen Sie das Dateisystem mit 'init_itable = 0' mounten. Standardmäßig ist es 10 (Details siehe Link unten)

Eine alternative Lösung besteht darin, den ext4lazyinit-Thread durch die Mount-Option ' noinit_itable ' zu deaktivieren. Dies ist jedoch möglicherweise keine gute Idee für das Produktionssystem (Einzelheiten siehe Link unten).

Quelle mit detaillierten Informationen hier ext4lazyinit git commit Kommentar .


2
Um einen Befehl zu erhalten, der zum erneuten Einhängen (ohne Off-Lining) verwendet werden kann, können Sie Folgendes ausführen mount | grep /path/to/mount/point | sed -E 's/^.* on (.*) type ext4 \((.*)\)$/mount -o remount,init_itable=0,\2 \1/g':mount -o remount,init_itable=0,rw,noatime,seclabel,stripe=512,data=ordered /path/to/mount/point
Iwan Aucamp wird

-2

Sie können die "nette" Ebene des Prozesses auf eine höhere Priorität als andere einstellen. Ich bin mir nicht sicher, ob es dadurch schneller wird und die Systemstabilität beeinträchtigen könnte, wenn es zu hoch eingestellt wird (-20 ist die höchste Priorität).

nice -n [nice value] [command]

1
schön wäre es mehr CPU Priorität zu geben, was es braucht ist mehr IO Priorität, @VencaBSpam hat die richtige Lösung
Jens Mühlenhoff
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.