Quali sono le dimensioni del settore su Mac OS X?

12

Ho letto sulla pagina di Wikipedia HFS Plus che la dimensione predefinita del settore su un Mac è 512 b. Tuttavia, ho anche letto che i Mac supportano i settori 4kb. Come posso determinare quali settori ho 512 b o 4 kb? Penso che 512 sia la risposta giusta, ma mi piacerebbe esserne sicuro.

    
posta kalaracey 14.01.2013 - 13:41
fonte

5 risposte

22

Nel terminale, è possibile utilizzare diskutil per ottenere informazioni sull'unità, inclusa la dimensione del blocco del dispositivo:

$ diskutil info / | grep "Block Size"
  Device Block Size:        512 Bytes
    
risposta data 14.01.2013 - 15:44
fonte
12

Per prima cosa, nota che Device Block Size è diverso dalla dimensione del blocco in uso dal filesystem. Il valore precedente riportato da diskutil si riferisce alla dimensione del blocco grezzo utilizzata dall'hardware. Non ho trovato un modo semplice per controllare l'ultimo valore dalla riga di comando, ma puoi semplicemente creare un file a zero byte e quindi ottenere informazioni dal Finder. Dirà 0 byte, ma 4k usato su disco.

In secondo luogo, è possibile creare un filesystem HFS + con dimensioni di blocco superiori a 4k utilizzando il programma della riga di comando newfs_hfs . Il modo più semplice è utilizzare Utility Disco per partizionare l'unità e creare una partizione con la formattazione predefinita, quindi utilizzare /bin/df per determinare il dispositivo a blocchi (solo un esempio: /dev/disk0s2 ). Quindi smonta questa partizione (usando umount /dev/diskXXX o Utility Disco) e riformatta come HFS + con blocchi di 64k:

newfs_hfs -v VolumeName -b 65536 /dev/disk0s2

Utilizza il suggerimento Ottieni informazioni qui sopra per verificare che un piccolo file ora occupi 64k su disco (potrebbe dire 65k per le unità di alimentazione di 10 unità).

Le prestazioni sono il motivo principale per cui potresti voler fare ciò, se la maggior parte dei dati da memorizzare sono file di grandi dimensioni (come MP3, foto, video, file .zip, ecc.) e aiuta anche a mantenere la frammentazione del disco Basso. Ovviamente non preoccupatevi se avete intenzione di archiviare file per lo più piccoli.

Ho scoperto che su dischi di grandi dimensioni (> 1 TB) formattati come HFS con la dimensione di blocco 4k predefinita, quando l'unità si avvicina alla capacità, le prestazioni in scrittura diminuiscono terribilmente. Suppongo che sia dovuto alla frammentazione della partizione e alla necessità di cercare e bloccare i blocchi liberi per scrivere l'ultimo 1% di dati. Spero che blocchi di dimensioni maggiori alleggeriranno un po 'questo problema.

    
risposta data 26.06.2013 - 18:31
fonte
9

La dimensione del blocco del dispositivo OS X può essere determinata eseguendo il seguente comando dal prompt di una finestra di Terminale:

diskutil info / | grep "Block Size"

Che emetterà le seguenti informazioni:

Device Block Size: 512 Bytes

La dimensione del blocco del file system può essere determinata utilizzando l'utilità stat :

stat -f %k .

Che mostrerà la dimensione del blocco operativo I / O del file system ottimale in byte:

4096
    
risposta data 02.07.2013 - 21:06
fonte
4

Con il vecchio file system HFS, il secondo tentativo di Apple in un file system per Macintosh, potevano esistere solo fino a 65.535 blocchi di allocazione su un disco. La dimensione del blocco era una funzione della dimensione del disco in byte divisa per il numero massimo di blocchi di allocazione, 65.535. Per i dischi piccoli questo andava bene, ma quando le dimensioni del disco iniziarono ad avvicinarsi a 1 GB di dimensione, la dimensione minima del blocco di allocazione era 16 KB (1073741824/65535) = 16384.25, ma è necessario troncare a 16384.

Ciò significa che un file da 1 byte su un disco HFS da 1 GB richiede 16.384 byte da archiviare sul disco rigido, quindi c'era troppo spazio sprecato. Quindi Apple ha creato il wrapper HFS + per ridurre lo spazio sprecato.

Potrebbe esserci un modo per impostare la dimensione del blocco più in alto, ma perché vorresti farlo?

Ecco uno script di bash rapido che elenca tutti gli output di diskinfo per tutti i dischi attualmente connessi.

#!/bin/bash

for disk in /dev/disk*s*
do
    diskutil info $disk
    echo "**************************************************************************************"
    echo " "
done
    
risposta data 14.01.2013 - 17:07
fonte
0

Sembra che la dimensione del blocco del dispositivo sia ora 4096 byte negli iMac del 2017 (iMac18,1), causando problemi alle persone che usano ntfsprogs.

    
risposta data 25.08.2017 - 16:44
fonte

Leggi altre domande sui tag