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


15

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

답변:


27

터미널에서 diskutil을 사용하여 장치 블록 크기를 포함하여 드라이브에 대한 정보를 얻을 수 있습니다.

$ diskutil info / | grep "Block Size"
  Device Block Size:        512 Bytes

1
감사합니다 Timothy-이 명령에 대해 몰랐습니다. OS X에서 디스크 정보 / 조작에 대한 보물 상자처럼 보입니다.
kalaracey

주의 :이 답변은 장치 블록 크기와 할당 블록 크기를 구분하지 않습니다. 그것들은 매우 다를 수 있으며 할당 블록 크기는 파일 시스템이 사용하는 것이므로 OP가 찾고있는 것일 수 있습니다. Mike의 답변을 참조하십시오.
LarsH

12

먼저, 장치 블록 크기는 파일 시스템에서 사용중인 블록 크기와 다릅니다. 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 ..
lhf

또한 파일 시스템 블록 크기가 드라이브의 실제 블록 크기와 일치하면 드라이브에서 더 쉽습니다. 그렇지 않으면, 각 쓰기 (. 캐싱은 물론, 도움), 실제로 읽기 - 수정 - 쓰기 사이클 수있다
에드워드 포크

재 : 나는 이전 버전에 대해 알고하지 않습니다 "나는 명령 라인으로 후자의 값을 확인하는 쉬운 방법을 발견하지 않았습니다"하지만, 맥 OS 시에라 10.12.6에, diskutil info때때로 당신에게 할당 블록 크기를 말할 것이다 : Allocation Block Size: 32768 Bytes뿐만 아니라 장치 블록 크기 rdisk2s0카드 리더에서 SD 카드와 함께 원시 장치 를 사용할 때 이것이 사실임을 알았습니다 . 하드 드라이브에서 작동시키는 방법을 모르겠습니다.
LarsH

9

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

diskutil info / | grep "Block Size"

다음 정보가 출력됩니다.

Device Block Size: 512 Bytes

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

stat -f %k .

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

4096

4

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

답변 해 주셔서 감사합니다. Mark, 제 질문에 대해 오해 한 것 같습니다. HFS Plus (Mac의 현재 기본 파일 시스템)의 블록 크기가 무엇인지 찾고 있습니다. HFS의 실패에 대해서는 흥미 롭습니다.
kalaracey 2012 년

요점은 다양하지만 일반적으로 512 바이트 인 것으로 보입니다.
Ɱark Ƭ

0

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.