[apple] Mac OS X의 섹터 크기는 얼마입니까?

HFS Plus Wikipedia 페이지에서 Mac의 기본 섹터 크기는 512b입니다. 그러나 Mac이 4kb 섹터를 지원한다는 것도 읽었습니다. 내가 가지고있는 512b 또는 4kb 섹터를 어떻게 확인할 수 있습니까? 512가 정답이라고 생각하지만 확실하게 알고 싶습니다.



답변

터미널에서 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 %를 쓰려면 사용 가능한 블록을 찾아서 검색해야하기 때문입니다. 블록 크기가 클수록이 문제가 다소 완화되기를 바랍니다.


답변

OS X 장치 블록 크기는 터미널 창 프롬프트에서 다음 명령을 실행하여 확인할 수 있습니다.

diskutil info / | grep "Block Size"

다음 정보가 출력됩니다.

Device Block Size: 512 Bytes

stat유틸리티 를 사용하여 파일 시스템 블록 크기를 판별 할 수 있습니다 .

stat -f %k .

최적 파일 시스템 I / O 조작 블록 크기 (바이트)를 표시합니다.

4096


답변

구식 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


답변

2017 iMac (iMac18,1)에서 장치 블록 크기가 4096 바이트 인 것처럼 보이므로 ntfsprogs를 사용하는 사람들에게 문제가 발생합니다.


답변