Заставить ext4lazyinit закончить свое дело?

18

Есть ли способ «заставить» ext4lazyinitзакончить то, что он делает с максимальным приоритетом? Что-то вроде: «Меня не волнуют ресурсы моей системы, просто делайте свою работу так быстро, как можете»?

Я должен добавить: без переформатирования диска. Мне известна опция mkfs lazy_itable_init.

Marius
источник
Звучит довольно XY для меня. Чего вы на самом деле пытаетесь достичь?
Даниэль Б
3
Моему Raspberry Pi потребовалось несколько часов, чтобы закончить ext4lazyinit на внешнем жестком диске. Я хотел проверить, правильно ли крутится диск после некоторого времени бездействия, однако это было невозможно из-за ext4lazyinit. После просмотра некоторого кода ядра ( github.com/torvalds/linux/blob/master/fs/ext4/super.c#L2931 ) кажется невозможным принудительно завершить поток, поскольку задержки несколько жестко заданы. Это, однако, не является окончательным ответом, я не являюсь ни ядром, ни экспертом по ext4, и я просто взглянул на эту функцию.
Мариус
@Marius Вы правы, что задержка жестко запрограммирована.
Моше Кац

Ответы:

15

Чтобы заставить ext4lazyinit завершить работу с максимальным приоритетом, вам необходимо смонтировать файловую систему с init_itable = 0. По умолчанию это 10 (подробнее см. Ссылку ниже)

Альтернативное решение - отключить поток ext4lazyinit с помощью опции монтирования « noinit_itable », что, однако, может не быть хорошей идеей в производственной системе (подробнее см. Ссылку ниже).

Источник с подробной информацией здесь ext4lazyinit git commit comment .

Venca B Spam
источник
2
Чтобы получить команду, которую можно использовать для перемонтирования (без выключения), вы можете запустить 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
-2

Вы можете установить «хороший» уровень процесса на более высокий приоритет над другими. Не уверен, что это заставит его работать быстрее и может отрицательно повлиять на стабильность системы, если установить слишком высокое значение (-20 - самый высокий приоритет).

nice -n [nice value] [command]
Hefewe1zen
источник
1
было бы неплохо дать ему больше приоритета процессора, то, что ему нужно, больше приоритета ввода-вывода, у @VencaBSpam есть правильное решение
Jens Mühlenhoff