Mac OS X'te sektör boyutları nedir?


15

HFS Plus Wikipedia sayfasında bir Mac'teki varsayılan sektör boyutunun 512 b olduğunu okudum. Ancak, Mac'lerin 4kb sektörlerini desteklediğini de okudum. 512 b veya 4 kb'lik sektörlere sahip olduğumu nasıl belirleyebilirim? 512'nin doğru cevap olduğunu düşünüyorum, ama emin olmak istiyorum.

Yanıtlar:


27

Terminalde, aygıt bloğu boyutu da dahil olmak üzere sürücü hakkında bilgi almak için diskutil'i kullanabilirsiniz:

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

1
Teşekkürler Timothy - bu komutu bilmiyordum. OS X altında disk bilgisi / manipülasyonu için bir hazine gibi görünüyor
kalaracey

Dikkat: bu cevap, cihaz bloğu boyutu ile ayırma bloğu boyutu arasında ayrım yapmaz. Çok farklı olabilirler ve ayırma bloğu boyutu OP'nin aradığı şey olabilir, çünkü dosya sistemi bunu kullanır. Mike'ın cevabına bakın.
LarsH

12

İlk olarak, Cihaz Blok Boyutu'nun dosya sistemi tarafından kullanılan blok boyutundan farklı olduğuna dikkat edin. Diskutil tarafından bildirilen eski değer, donanım tarafından kullanılan ham blok boyutunu ifade eder. Komut satırından ikinci değeri kontrol etmenin kolay bir yolunu bulamadım, ancak sadece sıfır baytlık bir dosya oluşturabilir ve Finder'dan Bilgi Alın. Diskte 0 bayt, ancak 4k kullanılır.

İkinci olarak, komut satırı programını kullanarak 4 k blok boyutundan daha büyük bir HFS + dosya sistemi oluşturabilirsiniz newfs_hfs. En kolay yol, sürücüyü bölümlemek ve varsayılan biçimlendirmeye sahip bir bölüm oluşturmak için Disk İzlencesi'ni kullanmaktır, ardından /bin/dfblok aygıtını belirlemek için kullanılır (yalnızca bir örnek:) /dev/disk0s2. Ardından bu bölümü ( umount /dev/diskXXXveya Disk İzlencesi'ni kullanarak ) çıkarın ve 64k bloklarla HFS + olarak yeniden biçimlendirin:

newfs_hfs -v VolumeName -b 65536 /dev/disk0s2

Küçük bir dosyanın artık diskte 64k yer kapladığını doğrulamak için yukarıdaki Bilgi Al ipucunu kullanın (10 birimden oluşan güçler için 65k diyebilir).

Saklanacak verilerin çoğu büyük dosyalar (MP3, fotoğraf, video, .zip dosyaları, vb.) İse, bunu yapmak isteyebileceğiniz temel nedendir ve disk parçalanmasını düşük tutmaya yardımcı olur. Açıkçası çoğunlukla küçük dosyaları saklamayı planlıyorsanız rahatsız etmeyin.

Varsayılan 4k blok boyutuna sahip HFS olarak biçimlendirilmiş büyük sürücülerde (> 1 TB), sürücü kapasiteye yaklaştığında yazma performansının çok düştüğünü fark ettim. Ben bölüm bölünmüş ve veri son% 1 yazmak için serbest bloklar avlamak ve gagalamak zorunda nedeniyle tahmin ediyorum. Daha büyük blok boyutlarının bu sorunu biraz azaltacağını umuyorum.


Dosya sistemi blok boyutu tarafından verilir stat -f %k ..
lhf

Ayrıca: dosya sistemi blok boyutunuz sürücünün fiziksel blok boyutuyla eşleşiyorsa sürücüde daha kolaydır. Aksi takdirde, her yazma aslında bir okuma-değiştirme-yazma döngüsü olmalıdır (Önbellekleme elbette yardımcı olur.)
Edward Falk

Re: "Komut satırı tarafından ikinci değeri kontrol etmek için kolay bir yol bulamadım" Eski sürümleri hakkında bilmiyorum, ama macOS Sierra 10.12.6, diskutil infobazen size ayırma blok boyutu söyleyecektir: Allocation Block Size: 32768 Bytesyanı sıra Cihaz blok boyutu. rdisk2s0Kart okuyucusunda SD kartlı ham cihazı kullanırken bunun doğru olduğunu gördüm . Sabit disk için nasıl çalıştıracağını bilmiyorum.
LarsH

9

OS X cihaz bloğu boyutu, Terminal penceresi isteminden aşağıdaki komutun çalıştırılmasıyla belirlenebilir:

diskutil info / | grep "Block Size"

Bu, aşağıdaki bilgileri verir:

Device Block Size: 512 Bytes

Dosya sistemi blok boyutu statyardımcı program kullanılarak belirlenebilir :

stat -f %k .

Bu işlem, bayt cinsinden En İyi dosya sistemi G / Ç işlem bloğu boyutunu gösterir:

4096

4

Eski HFS dosya sistemi, Apple'ın Macintosh için bir dosya sistemi ikinci denemesi ile, bir diskte en fazla 65.535 ayırma bloğu olabilir. Blok boyutu, bayt cinsinden disk boyutunun, maksimum ayırma bloğu sayısına (65.535) bölünmesiyle elde edilen bir işlevdi. Küçük diskler için bu iyi oldu, ancak disk boyutları 1 GB boyutuna yaklaşmaya başladığında minimum ayırma bloğu boyutu 16 KB (1073741824/65535) = 16384.25, ancak 16384'e kısalmanız gerekiyor.

Bunun anlamı, 1GB HFS diskteki 1 baytlık bir dosyanın sabit sürücüde depolanması için 16.384 bayt gerektirmesidir, bu nedenle çok fazla boşa alan vardı. Böylece Apple, boşa harcanan alanı azaltmak için HFS + paketini yarattı.

Blok boyutunu daha yükseğe ayarlamanın bir yolu olabilir, ama neden yapmak istersiniz?

Şu anda bağlı olan tüm diskleriniz için tüm diskinfo çıktılarını listeleyecek hızlı bir bash betiği.

#!/bin/bash

for disk in /dev/disk*s*
do
    diskutil info $disk
    echo "**************************************************************************************"
    echo " "
done

Cevabınız için teşekkür ederim Mark, ama sanırım sorumu yanlış anlamış olabilirsiniz. HFS Plus'ta (Mac'ler için geçerli varsayılan dosya sistemi) bir bloğun boyutunun ne olduğunu arıyorum. Yine de bu, HFS'nin başarısızlığıyla ilgili ilginç.
kalaracey

Mesele şu ki değişiyor, ancak genellikle 512 bayt gibi görünüyor.
Ƭark Ƭ

0

Görünüşe göre 2017 iMac'lerinde (iMac18,1) cihaz bloğu boyutu 4096 bayt, bu da ntfsprogs kullanan kişiler için sorunlara neden oluyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.