man ntfs-3g
big_writes
마운트 옵션을 좋은 것처럼 보이게 만드세요 .
big_writes
This option prevents fuse from splitting write buffers into 4K
chunks, enabling big write buffers to be transferred from the
application in a single step (up to some system limit, generally
128K bytes).
나열된 단점이 없습니다. 언제 설치를 피하고 싶습니까 big_writes
?
답변1
정말 좋은 질문이네요. 제가 여기에서 본 바에 따르면 아마도 단점이 없을 것입니다.
big_writes
2008년 당시 ,먼저 FUSE에 추가하세요.미클로스는 이렇게 말했습니다.
2.6.26 이전에는 통합이 단일 페이지 쓰기 요청만 지원했습니다. 이론적으로 모든 회로 차단기 파일 시스템은 4k보다 큰 쓰기를 지원할 수 있어야 합니다. 이를 방지하는 API에는 아무것도 없기 때문입니다. 불행하게도 NTFS-3G에는 상위 쓰기 작업으로 인해 파일 시스템이 손상될 수 있는 알려진 상황이 있습니다. 대규모 쓰기 요청에 대한 테스트가 부족하여 오류가 발생할 수 있는 다른 파일 시스템도 있을 수 있습니다.
커널 업그레이드 시 이러한 문제를 방지하려면 기본적으로 대문자 작업을 비활성화하고 파일 시스템에서 이를 켜도록 플래그를 설정하십시오.
특정 문제는 NTFS-3G에 다음 param.h
과 같이 문서화되어 있습니다.
/* * Use of big write buffers * * With small volumes, the cluster allocator may fail to allocate * enough clusters when the volume is nearly full. At most a run * can be allocated per bitmap chunk. So, there is a danger when the * number of chunks (capacity/(32768*clsiz)) is less than the number * of clusters in the biggest write buffer (131072/clsiz). Hence * a safe minimal capacity is 4GB */ #define SAFE_CAPACITY_FOR_BIG_WRITES 0x100000000LL
현재는 big_writes를 요청하기 전에 fs 용량이 최소 4GB인지 확인하여 이 제한을 방어합니다. 그래서 안전합니다.
사실 툭셀라는열어보시는 걸 추천드려요NTFS-3G가 CPU를 많이 사용하는 경우:
해결 방법: 쓰기를 요청하는 소프트웨어가 큰 블록을 지원하는 경우 마운트 옵션 "big_writes"를 사용하면 일반적으로 CPU 사용량이 줄어듭니다.
미래
~부터libfuse 3.0.0(2016) big_writes
항상 켜짐:
설치
-o big_writes
옵션이 제거되었습니다. 이제는 항상 활성화되어 있습니다. 쓰기 요청의 크기를 제한하려는 파일 시스템은 이-o max_write=<N>
옵션을 사용해야 합니다.범죄
그러나 libfuse3은 완전히 새로운 세대이며 ntfs-3g는 이에 대한 빌드를 전혀 지원하지 않습니다. 실수로 새로운 1MiB 쓰기 버퍼(libfuse 3.6.0)를 ntfs-3g의 내부 미니 libfuse2로 백포트했습니다. 이를 사용하려면 여기에서 가져올 수 있습니다.
- https://github.com/AOSC-Dev/ntfs-3g/commit/96f6fbedaf7aad70b4a4c39d8dd4a637a63beec1
- https://github.com/AOSC-Dev/ntfs-3g/commit/6aa576ae2a13fb636bff65bcb2701e731d2f5a94
예, 쓰기 크기/볼륨 크기 제한을 리팩토링한 것을 기억합니다. 예, 최신 Ryzen에서도 대용량 파일 쓰기가 더 빠릅니다.
PS: ntfs-3g에 libfuse3 지원을 추가할 계획이지만 실제 마감 기한은 없습니다. Tuxera는 분명히 그러한 변화에 관심이 없으며 포크에 이름을 부여하는 것은 나에게 약간 과한 일입니다.