Costringere ext4lazyinit a finire le sue cose?


18

Esiste un modo per "forzare" ext4lazyinita finire ciò che fa con la massima priorità? Qualcosa del tipo "Non mi importa delle risorse del mio sistema, fai il tuo lavoro il più velocemente possibile"?

Dovrei aggiungere: senza riformattare l'unità. Sono a conoscenza dell'opzione lazy_itable_init di mkfs.


Mi sembra abbastanza XY . Cosa stai effettivamente cercando di ottenere?
Daniel B,

3
Il mio Raspberry Pi ha impiegato diverse ore per terminare ext4lazyinit su un disco rigido esterno. Volevo testare se l'HD si gira correttamente dopo qualche tempo di inattività, ma ciò non è stato possibile a causa di ext4lazyinit. Dopo aver esaminato il codice del kernel ( github.com/torvalds/linux/blob/master/fs/ext4/super.c#L2931 ) non sembra possibile forzare il completamento del thread poiché i ritardi sono in qualche modo codificati. Questa non è tuttavia una risposta definitiva, non sono un esperto di kernel né ext4 e ho appena dato un'occhiata a quella funzione.
Marius,

@Marius Hai ragione sul fatto che il ritardo è hardcoded.
Moshe Katz,

Risposte:


15

Per "forzare" ext4lazyinit a completare l'operazione con la massima priorità, è necessario montare il filesystem con "init_itable = 0". Per impostazione predefinita è 10 (per i dettagli, vedere il link seguente)

La soluzione alternativa è disabilitare il thread ext4lazyinit con l'opzione mount ' noinit_itable ', che potrebbe tuttavia non essere una buona idea sul sistema di produzione (per i dettagli vedere il link sotto).

Fonte con informazioni dettagliate qui ext4lazyinit git commit commento .


2
Per ottenere il comando che può essere utilizzato per rimontare (senza rivestimento) è possibile eseguire mount | grep /path/to/mount/point | sed -E 's/^.* on (.*) type ext4 \((.*)\)$/mount -o remount,init_itable=0,\2 \1/g'- Questo genererà qualcosa di similemount -o remount,init_itable=0,rw,noatime,seclabel,stripe=512,data=ordered /path/to/mount/point
Iwan Aucamp

-2

È possibile impostare il livello "piacevole" del processo su una priorità più alta rispetto agli altri. Non sono sicuro se lo farà andare più veloce e potrebbe influire negativamente sulla stabilità del sistema se impostato su un valore troppo alto (-20 è la priorità più alta).

nice -n [nice value] [command]

1
bello sarebbe dargli più priorità della CPU, ciò di cui ha bisogno è più priorità di I / O, @VencaBSpam ha la soluzione giusta
Jens Mühlenhoff
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.