zvol의 mkfs.ntfs 중에 많은 리소스가 소비됩니다. 이유는 무엇입니까(그리고 이를 제한하는 방법은 무엇입니까)?

zvol의 mkfs.ntfs 중에 많은 리소스가 소비됩니다. 이유는 무엇입니까(그리고 이를 제한하는 방법은 무엇입니까)?

내 컴퓨터가 너무 느려서 mkfs.ntfs리소스 사용량이 많아지고 컴퓨터를 다른 용도로 사용할 수 없게 됩니다. top에 따르면 해당 프로세스(또는 직접 관련된 zvol프로세스)는 사용 가능한 모든 스레드의 80-90%를 사용하고 있으며, 심지어 다른 프로세스(예: 가상 머신)에서 이미 사용하고 있는 스레드도 포함하고 있습니다.

이렇게 많은 리소스 사용량이 mkfs.ntfs정상인가요? 그렇다면 사용되는 스레드 수를 제한할 수 있는 방법이 있습니까 mkfs.ntfs? 나는 그것을 몇 개의 스레드/코어로 제한할 수 있다면 다른 프로세스가 계속 작업할 수 있도록 리소스를 갖게 될 것이라고 생각했습니다.

추가 정보를 편집합니다.

저는 Ubuntu 20.04를 호스트 OS로 사용하고 있으며 포맷하는 볼륨은 ZFS zvol입니다. 이 zvol은 내가 Kubuntu를 실행하는 ext4 파티션과 미러 VDEV를 공유합니다.

내가 실행한 zvol을 만들기 위해

sudo zfs create -V 400G -o compression=lz4 -o volblocksize=8k -s nvme-tank/ntfs-zvol

댓글에서 제안을 받은 후 nice취소 명령의 우선순위를 사용해 보았습니다. 약간의 도움이 되었지만 여전히 제가 사용하고 있는 가상 머신에서는 극심한 지연이 발생했습니다.

nice -n19 sudo mkfs.ntfs /dev/zd16 -c 8192

이것은 top. 이러한 zvol프로세스는 명령 중에만 발생하므로 mkfs직접 관련이 있다고 가정합니다. 맨 위

답변1

NTFS 포맷은 ext4보다 느릴 수 있지만(예를 들어 디스크 구조를 초기화하려면 더 많은 데이터를 써야 함) 시스템이 응답하지 않거나 리소스가 제한된 것처럼 느껴져서는 안 됩니다.

저는 ZFS에 대해 잘 모릅니다. 아마도 ZFS 자체가 자체 내부 작업(동기화, 미러링, 데이터 구조 할당 등)을 완료하지 않았거나 최적이 아닌 구성으로 생성되었을 수 있으므로 이러한 문제가 발생하는 것입니다. 이런 증상? 아니면 시스템에 RAM이 부족합니까(마지막으로 ZFS의 효율성을 높이려면 더 많은 RAM이 필요하다고 들었습니다)? 출력 이 프로세스 top로 가득 차 있습니다 zvol. 이는 ZFS 파일 시스템 자체가 시스템 속도를 저하시키는 것이지 mkfs.ntfs.

즉, ZFS 전문가가 필요합니다. mkfs.ntfs범인이 아니라고 99% 확신합니다 .

ZFS의 일부 복잡성을 고려하지 않는다는 주장이 인터넷에서 많이 논의되고 있습니다.

답변2

파티션을 0으로 설정하고 불량 섹터를 확인하지 않는 한 단일 사례는 그렇게 오래 걸리지 않습니다(적어도 내 버전에서는 이것이 기본값입니다). 불량 섹터를 확인하는 것은 좋지만,옵션을 사용하여 건너뛸 수 있습니다.-f

sudo mkfs.ntfs -f /dev/zd16 -c 8192

관련 정보