Na stronie Wikipedii HFS Plus przeczytałem, że domyślny rozmiar sektora na komputerze Mac to 512 b. Jednak przeczytałem również, że komputery Mac obsługują sektory 4 KB. Jak mogę ustalić, które mam sektory 512 b lub 4 kb? Myślę, że 512 jest właściwą odpowiedzią, ale chciałbym być pewien.
hard-drive
disk-utility
dual-boot
hfs+
kalaracey
źródło
źródło
Po pierwsze, zwróć uwagę, że rozmiar bloku urządzenia różni się od rozmiaru bloku używanego przez system plików. Poprzednia wartość podana przez diskutil odnosi się do surowego rozmiaru bloku używanego przez sprzęt. Nie znalazłem łatwego sposobu na sprawdzenie tej ostatniej wartości za pomocą wiersza poleceń, ale możesz po prostu utworzyć plik zerowy, a następnie uzyskać informacje z Findera. Powie 0 bajtów, ale 4k użyte na dysku.
Po drugie, możesz utworzyć system plików HFS + o rozmiarze bloku większym niż 4k za pomocą programu wiersza poleceń
newfs_hfs
. Najłatwiejszym sposobem jest użycie Narzędzia dyskowego do podzielenia dysku na partycje i utworzenie partycji z domyślnym formatowaniem, a następnie użycie/bin/df
do określenia urządzenia blokowego (tylko przykład:)/dev/disk0s2
. Następnie odmontuj tę partycję (używającumount /dev/diskXXX
lub Narzędzie dyskowe) i sformatuj ponownie jako HFS + z blokami 64k:Skorzystaj z powyższej wskazówki Uzyskaj informacje, aby sprawdzić, czy mały plik zajmuje teraz 64 KB na dysku (może to powiedzieć 65 KB dla jednostek o mocy 10).
Wydajność jest głównym powodem, dla którego warto to zrobić, jeśli większość przechowywanych danych to duże pliki (takie jak MP3, zdjęcia, wideo, pliki .zip itp.), A także pomaga utrzymać niską fragmentację dysku. Oczywiście nie przejmuj się, jeśli planujesz przechowywać głównie małe pliki.
Odkryłem, że na dużych dyskach (> 1 TB) sformatowanych jako HFS z domyślnym rozmiarem bloku 4k, gdy dysk zbliża się do pojemności, wydajność zapisu strasznie spada. Zgaduję, że wynika to z fragmentacji partycji i konieczności polowania i dziobania wolnych bloków w celu wypisania ostatniego 1% danych. Mam nadzieję, że większe rozmiary bloków nieco złagodzą ten problem.
źródło
stat -f %k .
.diskutil info
czasami powie ci rozmiar bloku alokacji:Allocation Block Size: 32768 Bytes
a także rozmiar bloku urządzenia. Stwierdziłem, że jest to prawdą, gdy korzystam z surowego urządzeniardisk2s0
z kartą SD w czytniku kart. Nie wiem, jak sprawić, by działał na dysku twardym.Rozmiar bloku urządzenia OS X można określić, wykonując następujące polecenie z wiersza polecenia Terminal:
Które wygenerują następujące informacje:
Rozmiar bloku systemu plików można określić za pomocą
stat
narzędzia:Który pokaże ci rozmiar bloku operacji we / wy optymalnego systemu plików w bajtach:
źródło
W starszym systemie plików HFS, drugiej próbie Apple'a na system plików dla komputerów Macintosh, na dysku mogło być maksymalnie 65 535 bloków alokacji. Rozmiar bloku był funkcją wielkości dysku w bajtach podzielonej przez maksymalną liczbę bloków alokacji, 65 535. W przypadku małych dysków było to w porządku, ale kiedy rozmiary dysków zaczęły zbliżać się do 1 GB, minimalny rozmiar bloku alokacji wynosił 16 KB (1073741824/65535) = 16384,25, ale musisz obciąć do 16384.
Oznacza to, że 1 bajtowy plik na 1 GB dysku HFS wymagał 16 384 bajtów do zapisania na dysku twardym, więc było zbyt wiele zmarnowanego miejsca. Tak więc Apple stworzyło opakowanie HFS +, aby zmniejszyć zmarnowane miejsce.
Może być sposób na ustawienie większego rozmiaru bloku, ale dlaczego miałbyś chcieć?
Oto szybki skrypt bash, który wyświetli wszystkie dane wyjściowe diskinfo dla wszystkich aktualnie podłączonych dysków.
źródło
Wygląda na to, że rozmiar bloku urządzenia wynosi teraz 4096 bajtów w iMacach 2017 (iMac18,1), co powoduje problemy dla osób używających ntfsprogs.
źródło