मैक ओएस एक्स पर सेक्टर आकार क्या हैं?


15

मैंने एचएफएस प्लस विकिपीडिया पृष्ठ पर पढ़ा कि मैक पर डिफ़ॉल्ट सेक्टर का आकार 512 बी है। हालाँकि, मैंने यह भी पढ़ा कि Macs 4kb सेक्टर्स का समर्थन करते हैं। मैं कैसे निर्धारित कर सकता हूं कि मेरे पास 512 बी या 4 केबी सेक्टर हैं? मुझे लगता है कि 512 सही उत्तर है, लेकिन मैं निश्चित होना चाहूंगा।

जवाबों:


27

टर्मिनल में, आप डिस्क ब्लॉक के बारे में जानकारी प्राप्त करने के लिए डिस्क ब्लॉक का उपयोग कर सकते हैं, जिसमें डिवाइस ब्लॉक आकार शामिल है:

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

1
धन्यवाद टिमोथी - इस आदेश के बारे में नहीं जानते थे। ओएस एक्स के तहत डिस्क की जानकारी / हेरफेर के लिए एक खजाने की तरह दिखता है।
कलारसी

सावधानी: यह उत्तर डिवाइस ब्लॉक आकार और आवंटन ब्लॉक आकार के बीच अंतर नहीं करता है। वे बहुत भिन्न हो सकते हैं, और आवंटन ब्लॉक आकार अच्छी तरह से हो सकता है कि ओपी की तलाश है, क्योंकि यह फाइलसिस्टम का उपयोग करता है। माइक का जवाब देखें।
लार्स

12

सबसे पहले, ध्यान दें कि डिवाइस ब्लॉक आकार फाइल सिस्टम द्वारा उपयोग में ब्लॉक आकार से अलग है। डिस्क्यूटिल द्वारा रिपोर्ट किया गया पूर्व मान हार्डवेयर द्वारा उपयोग किए जाने वाले कच्चे ब्लॉक आकार को संदर्भित करता है। मुझे कमांड लाइन द्वारा बाद के मूल्य की जांच करने का एक आसान तरीका नहीं मिला है, लेकिन आप बस एक शून्य-बाइट फ़ाइल बना सकते हैं, फिर फाइंडर से जानकारी प्राप्त करें। यह 0 बाइट्स कहेगा, लेकिन डिस्क पर 4k का उपयोग किया जाता है।

दूसरा, आप कमांड लाइन प्रोग्राम का उपयोग करके 4k से बड़े आकार के साथ एक HFS + फाइलसिस्टम बना सकते हैं newfs_hfs। सबसे आसान तरीका है कि डिस्क विभाजन का उपयोग ड्राइव को विभाजित करने और डिफ़ॉल्ट स्वरूपण के साथ एक विभाजन बनाने के लिए करें, फिर /bin/dfब्लॉक डिवाइस (केवल एक उदाहरण:) को निर्धारित करने के लिए उपयोग करें /dev/disk0s2। फिर उस विभाजन को अनमाउंट करें ( umount /dev/diskXXXडिस्क उपयोगिता का उपयोग करके ), और 64k ब्लॉकों के साथ HFS + के रूप में पुन: स्वरूपित करने के लिए:

newfs_hfs -v VolumeName -b 65536 /dev/disk0s2

यह सत्यापित करने के लिए उपरोक्त जानकारी टिप का उपयोग करें कि एक छोटी फ़ाइल अब डिस्क पर 64k में रहती है (इसे 10k की शक्तियों के लिए 65k कह सकते हैं)।

प्रदर्शन मुख्य कारण है जो आप ऐसा करना चाहते हैं, यदि संग्रहित किए जाने वाले अधिकांश डेटा बड़ी फ़ाइलें (जैसे MP3, फ़ोटो, वीडियो, .zip फ़ाइलें, आदि) हैं, और यह डिस्क विखंडन को कम रखने में भी मदद करता है। अगर आप ज्यादातर छोटी फाइलों को स्टोर करने की योजना बनाते हैं, तो परेशान न हों।

मैंने पाया है कि बड़े ड्राइव पर (> 1 टीबी) डिफ़ॉल्ट 4k ब्लॉक आकार के साथ एचएफएस के रूप में स्वरूपित होता है, जब ड्राइव क्षमता के निकट होता है, तो प्रदर्शन में बहुत गिरावट आती है। मैं अनुमान लगा रहा हूं कि विभाजन खंडित होने के कारण है और अंतिम 1% आंकड़ों को लिखने के लिए मुक्त ब्लॉकों के लिए शिकार करना और चोंच मारना है। मुझे उम्मीद है कि बड़े ब्लॉक आकार इस समस्या को कुछ हद तक दूर करेंगे।


फाइलसिस्टम ब्लॉक आकार द्वारा दिया गया है stat -f %k .
lhf

इसके अलावा: यदि आपकी फ़ाइल सिस्टम ब्लॉक आकार ड्राइव के भौतिक ब्लॉक आकार से मेल खाती है, तो यह ड्राइव पर आसान है। अन्यथा, प्रत्येक लेखन को वास्तव में एक पढ़ना-संशोधित-लिखना चक्र होना चाहिए, (कैशिंग मदद करता है, निश्चित रूप से।)
एडवर्ड फॉक

पुन: "मुझे कमांड लाइन द्वारा बाद के मूल्य की जांच करने का एक आसान तरीका नहीं मिला है" मुझे पुराने संस्करणों के बारे में पता नहीं है, लेकिन macOS सिएरा 10.12.6 पर, diskutil infoकभी-कभी आपको आवंटन ब्लॉक का आकार बताएगा: Allocation Block Size: 32768 Bytesसाथ ही डिवाइस ब्लॉक आकार। मुझे यह सच लगा जब rdisk2s0कार्ड रीडर में एसडी कार्ड के साथ कच्चे डिवाइस का उपयोग किया गया । मुझे नहीं पता कि यह हार्ड ड्राइव के लिए कैसे काम करता है।
लार्स

9

OS X डिवाइस ब्लॉक का आकार टर्मिनल विंडो प्रॉम्प्ट से निम्नलिखित कमांड निष्पादित करके निर्धारित किया जा सकता है:

diskutil info / | grep "Block Size"

जो निम्न जानकारी को आउटपुट करेगा:

Device Block Size: 512 Bytes

फ़ाइल सिस्टम ब्लॉक का आकार statउपयोगिता का उपयोग करके निर्धारित किया जा सकता है :

stat -f %k .

जो आपको बाइट्स में ऑप्टिमल फाइल सिस्टम I / O ऑपरेशन ब्लॉक साइज दिखाएगा:

4096

4

पुराने एचएफएस फाइल सिस्टम के साथ, ऐप्पल का मैकिन्टोश के लिए फाइल सिस्टम में दूसरा प्रयास है, एक डिस्क पर केवल 65,535 आवंटन ब्लॉक हो सकते हैं। ब्लॉक का आकार डिस्क के आकार का एक कार्य था जिसे आवंटन ब्लॉकों की अधिकतम संख्या, 65,535 से विभाजित किया गया था। छोटे डिस्क के लिए यह ठीक था, लेकिन जब डिस्क का आकार 1GB के आकार में आना शुरू हुआ, तो न्यूनतम आवंटन ब्लॉक का आकार 16 KB (1073741824/65535) = 16384.25 था, लेकिन आपको 16384 से कम करने की आवश्यकता है।

इसका मतलब यह है कि हार्ड ड्राइव पर स्टोर करने के लिए 1 जीबी एचएफएस डिस्क पर 1 बाइट फ़ाइल के लिए 16,384 बाइट की आवश्यकता होती है, इसलिए बहुत अधिक बर्बाद जगह थी। इसलिए Apple ने बर्बाद जगह को कम करने के लिए HFS + रैपर बनाया।

ब्लॉक आकार को उच्चतर सेट करने का एक तरीका हो सकता है, लेकिन आप क्यों करना चाहेंगे?

यहां एक त्वरित बैश स्क्रिप्ट है जो आपके वर्तमान में जुड़े सभी डिस्क के लिए सभी डिस्किनो आउटपुट को सूचीबद्ध करेगा।

#!/bin/bash

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

आपकी प्रतिक्रिया के लिए धन्यवाद, मार्क, लेकिन मुझे लगता है कि आपने मेरे सवाल को गलत समझा हो सकता है। मैं देख रहा हूं कि एचएफएस प्लस (मैक के लिए वर्तमान डिफ़ॉल्ट फाइल सिस्टम) पर एक ब्लॉक का आकार क्या है। यह एचएफएस की विफलताओं के बारे में दिलचस्प है, हालांकि।
कालरासी

मुद्दा यह है कि यह भिन्न होता है, लेकिन आम तौर पर 512 बाइट्स लगता है।
33ark

0

2017 ब्लॉक iMacs (iMac18,1) में डिवाइस ब्लॉक आकार 4096 बाइट्स की तरह दिखता है, जिससे लोगों के लिए ntfsprogs का उपयोग करने में समस्या होती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.