ext4lazyinit가 강제로 완료하도록 강요합니까?


19

ext4lazyinit최대 우선 순위로하는 일 을 '강제'하는 방법이 있습니까? "시스템 리소스에 신경 쓰지 않고 최대한 빨리 작업을 수행하십시오"와 같은 것이 있습니까?

드라이브를 다시 포맷하지 않고 추가해야합니다. mkfs의 lazy_itable_init 옵션을 알고 있습니다.


나에게 꽤 XY 소리 . 실제로 무엇을 달성하려고합니까?
Daniel B

3
외부 하드 드라이브에서 ext4lazyinit를 완료하는 데 Raspberry Pi가 여러 시간이 걸렸습니다. 비활성 시간이 지나면 hd가 올바르게 회전하는지 테스트하고 싶었지만 ext4lazyinit로 인해 불가능했습니다. 일부 커널 코드 ( github.com/torvalds/linux/blob/master/fs/ext4/super.c#L2931 )를 본 후 지연이 다소 하드 코딩 되었으므로 스레드를 강제로 종료 할 수없는 것 같습니다. 그러나 그것은 확실한 대답이 아니며, 커널이나 ext4 전문가가 아니며 그 기능을 엿볼 수 있습니다.
Marius

@Marius 지연이 하드 코딩 된 것이 맞습니다.
Moshe Katz

답변:


16

ext4lazyinit를 '우선'으로 설정하여 최대 우선 순위로 수행하는 작업을 완료하려면 'init_itable = 0'으로 파일 시스템을 마운트해야합니다. 기본적으로 10입니다 (자세한 내용은 아래 링크 참조).

대안 솔루션은 마운트 옵션 ' noinit_itable '에 의해 ext4lazyinit 스레드를 비활성화하는 것이지만 프로덕션 시스템에서는 좋지 않을 수 있습니다 (자세한 내용은 아래 링크 참조).

자세한 정보가있는 소스 ext4lazyinit git commit comment .


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]

1
@VencaBSpam은 올바른 솔루션을 가지고 있습니다
Jens Mühlenhoff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.