Berapa ukuran sektor pada Mac OS X?

15

Saya membaca pada halaman Wikipedia HFS Plus bahwa ukuran sektor default pada Mac adalah 512 b. Namun, saya juga membaca bahwa Mac mendukung sektor 4kb. Bagaimana saya bisa menentukan yang saya miliki, sektor 512 b atau 4 kb? Saya pikir 512 adalah jawaban yang tepat, tetapi saya ingin memastikan.

kalaracey
sumber

Jawaban:

27

Di terminal, Anda dapat menggunakan diskutil untuk mendapatkan informasi tentang drive, termasuk ukuran blok perangkat:

$ diskutil info / | grep "Block Size"
  Device Block Size:        512 Bytes
Tim B
sumber
1
Terima kasih Timothy - tidak tahu tentang perintah ini. Tampak seperti harta karun untuk informasi disk / manipulasi di bawah OS X.
kalaracey
Perhatian: jawaban ini tidak membedakan antara ukuran blok perangkat dan ukuran blok alokasi. Mereka mungkin sangat berbeda, dan ukuran blok alokasi mungkin sesuai dengan yang dicari OP, karena itulah yang digunakan oleh sistem file. Lihat jawaban Mike.
LarsH
12

Pertama, perhatikan bahwa Ukuran Blok Perangkat berbeda dari ukuran blok yang digunakan oleh sistem file. Nilai sebelumnya seperti yang dilaporkan oleh diskutil mengacu pada ukuran blok mentah yang digunakan oleh perangkat keras. Saya belum menemukan cara mudah untuk memeriksa nilai terakhir dengan baris perintah, tetapi Anda bisa membuat file nol-byte kemudian lakukan Dapatkan Info dari Finder. Itu akan mengatakan 0 byte, tetapi 4k digunakan pada disk.

Kedua, Anda dapat membuat sistem file HFS + dengan ukuran blok lebih dari 4k menggunakan program baris perintah newfs_hfs. Cara termudah adalah dengan menggunakan Disk Utility untuk mempartisi drive dan membuat partisi dengan format default, kemudian gunakan /bin/dfuntuk menentukan perangkat blok (contoh saja /dev/disk0s2:). Kemudian unmount partisi itu (menggunakan umount /dev/diskXXXatau Disk Utility), dan memformat ulang sebagai HFS + dengan 64k blok lakukan:

newfs_hfs -v VolumeName -b 65536 /dev/disk0s2

Gunakan tip Dapatkan Info di atas untuk memverifikasi bahwa file kecil sekarang menempati 64k pada disk (bisa dikatakan 65k untuk unit kekuatan-dari-10).

Kinerja adalah alasan utama Anda mungkin ingin melakukan ini, jika sebagian besar data yang akan disimpan adalah file besar (seperti MP3, foto, video, file .zip, dll), dan juga membantu menjaga fragmentasi disk tetap rendah. Jelas jangan repot-repot jika Anda berencana untuk menyimpan sebagian besar file kecil.

Saya telah menemukan bahwa pada drive besar (> 1 TB) diformat sebagai HFS dengan ukuran blok 4k default, ketika drive mendekati kapasitas, kinerja penulisan sangat menurun. Saya menduga itu karena partisi yang terfragmentasi dan harus berburu dan mematuk blok gratis untuk menulis 1% data terakhir. Saya berharap bahwa ukuran blok yang lebih besar akan sedikit mengurangi masalah ini.

Mike Gleason
sumber
Ukuran blok filesystem diberikan oleh stat -f %k ..
lhf
Juga: lebih mudah di drive jika ukuran blok sistem file Anda cocok dengan ukuran blok fisik drive. Jika tidak, setiap penulisan harus benar-benar menjadi siklus baca-modifikasi-tulis, (Caching membantu, tentu saja.)
Edward Falk
Re: "Saya belum menemukan cara mudah untuk memeriksa nilai terakhir oleh baris perintah" Saya tidak tahu tentang versi yang lebih lama, tetapi pada macOS Sierra 10.12.6, diskutil infokadang-kadang akan memberi tahu Anda ukuran blok alokasi: Allocation Block Size: 32768 Bytesserta ukuran blok Perangkat. Saya menemukan ini benar ketika menggunakan perangkat mentah rdisk2s0dengan kartu SD di pembaca kartu. Saya tidak tahu cara membuatnya bekerja untuk hard drive.
LarsH
9

Ukuran blok perangkat OS X dapat ditentukan dengan menjalankan perintah berikut dari jendela Terminal prompt:

diskutil info / | grep "Block Size"

Yang akan menampilkan informasi berikut:

Device Block Size: 512 Bytes

Ukuran blok sistem file dapat ditentukan dengan menggunakan statutilitas:

stat -f %k .

Yang akan menunjukkan ukuran blok operasi I / O sistem file Optimal dalam byte:

4096
rjb
sumber
4

Dengan sistem file HFS yang lebih lama, upaya kedua Apple pada sistem file untuk Macintosh, hanya ada 65.535 blok alokasi pada disk. Ukuran blok adalah fungsi dari ukuran disk dalam byte dibagi dengan jumlah maksimum blok alokasi, 65.535. Untuk disk kecil ini baik-baik saja, tetapi ketika ukuran disk mulai mendekati 1GB dalam ukuran blok alokasi minimum adalah 16 KB (1073741824/65535) = 16384.25, tetapi Anda harus memotong ke 16384.

Apakah ini berarti bahwa file 1 byte pada disk HFS 1GB membutuhkan 16.384 byte untuk disimpan pada hard drive, sehingga ada terlalu banyak ruang yang terbuang. Jadi Apple menciptakan pembungkus HFS + untuk mengurangi ruang yang terbuang.

Mungkin ada cara untuk mengatur ukuran blok lebih tinggi, tetapi mengapa Anda mau?

Berikut ini adalah skrip bash cepat yang akan mencantumkan semua output diskinfo untuk semua disk Anda yang saat ini terhubung.

#!/bin/bash

for disk in /dev/disk*s*
do
    diskutil info $disk
    echo "**************************************************************************************"
    echo " "
done
Bahtera Ƭ
sumber
Terima kasih atas tanggapan Anda, Mark, tetapi saya pikir Anda mungkin telah salah mengerti pertanyaan saya. Saya mencari ukuran blok pada HFS Plus (filesystem default untuk Mac saat ini). Itu menarik tentang kegagalan HFS.
kalaracey
Intinya adalah bahwa itu bervariasi, tetapi tampaknya umumnya 512 byte.
Ɱark Ƭ
0

Sepertinya ukuran blok perangkat sekarang 4.096 byte dalam 2017 iMacs (iMac18, 1), menyebabkan masalah bagi orang yang menggunakan ntfsprogs.

js2010
sumber