답변:
터미널에서 diskutil을 사용하여 장치 블록 크기를 포함하여 드라이브에 대한 정보를 얻을 수 있습니다.
$ diskutil info / | grep "Block Size"
Device Block Size: 512 Bytes
먼저, 장치 블록 크기는 파일 시스템에서 사용중인 블록 크기와 다릅니다. diskutil에서보고 한 이전 값은 하드웨어에서 사용하는 원시 블록 크기를 나타냅니다. 명령 줄로 후자의 값을 확인하는 쉬운 방법을 찾지 못했지만 0 바이트 파일을 만든 다음 Finder에서 정보 얻기를 수행 할 수 있습니다. 0 바이트라고 말하지만 디스크에서 4k가 사용됩니다.
둘째, command line program을 사용하여 4k 블록 크기보다 큰 HFS + 파일 시스템을 만들 수 있습니다 newfs_hfs
. 가장 쉬운 방법은 디스크 유틸리티를 사용하여 드라이브를 분할하고 기본 형식으로 파티션을 만든 다음 /bin/df
블록 장치를 결정하는 데 사용 하는 것입니다 (예 :) /dev/disk0s2
. 그런 다음 ( umount /dev/diskXXX
또는 디스크 유틸리티를 사용하여) 해당 파티션을 마운트 해제하고 64k 블록으로 HFS +로 다시 포맷하십시오.
newfs_hfs -v VolumeName -b 65536 /dev/disk0s2
위의 정보 입수 팁을 사용하여 작은 파일이 디스크에서 64k를 차지하는지 확인하십시오 (10의 거듭 제곱의 경우 65k라고 표시 될 수 있음).
저장하려는 대부분의 데이터가 큰 파일 (예 : MP3, 사진, 비디오, .zip 파일 등)이고 디스크 조각화를 낮게 유지하는 데 도움이되는 경우 성능이 주된 이유입니다. 주로 작은 파일을 저장할 계획이라면 걱정하지 마십시오.
드라이브가 용량에 가까워지면 기본 4k 블록 크기로 HFS로 포맷 된 대형 드라이브 (> 1TB)에서 쓰기 성능이 크게 저하된다는 것을 알았습니다. 파티션이 조각화되어 있고 데이터의 마지막 1 %를 쓰려면 사용 가능한 블록을 찾아서 검색해야하기 때문입니다. 블록 크기가 클수록이 문제가 다소 완화되기를 바랍니다.
stat -f %k .
.
diskutil info
때때로 당신에게 할당 블록 크기를 말할 것이다 : Allocation Block Size: 32768 Bytes
뿐만 아니라 장치 블록 크기 rdisk2s0
카드 리더에서 SD 카드와 함께 원시 장치 를 사용할 때 이것이 사실임을 알았습니다 . 하드 드라이브에서 작동시키는 방법을 모르겠습니다.
구식 HFS 파일 시스템을 사용하여 Macintosh 용 파일 시스템에서 Apple의 두 번째 시도는 디스크에 최대 65,535 개의 할당 블록 만있을 수 있습니다. 블록 크기는 디스크 크기와 바이트 단위의 기능을 최대 할당 블록 수인 65,535로 나눈 값입니다. 작은 디스크의 경우에는 문제가 없지만 디스크 크기가 1GB에 도달하기 시작하면 최소 할당 블록 크기는 16KB (1073741824/65535) = 16384.25이지만 16384로 잘라야합니다.
이것은 1GB HFS 디스크의 1 바이트 파일이 하드 드라이브에 저장하기 위해 16,384 바이트가 필요했기 때문에 낭비되는 공간이 너무 많음을 의미합니다. 따라서 Apple은 낭비되는 공간을 줄이기 위해 HFS + 래퍼를 만들었습니다.
블록 크기를 더 높게 설정하는 방법이있을 수 있지만 왜 하시겠습니까?
다음은 현재 연결된 모든 디스크에 대한 모든 디스크 정보 출력을 나열하는 빠른 bash 스크립트입니다.
#!/bin/bash
for disk in /dev/disk*s*
do
diskutil info $disk
echo "**************************************************************************************"
echo " "
done