12Aug

למה יש הבדל גדול בין 'גודל' ו 'גודל על דיסק'?

click fraud protection

רוב הזמן, הערכים של 'גודל' ו 'גודל על דיסק' יהיה קרוב מאוד להתאמת בעת בדיקת תיקיה או גודל הקובץ, אבל מה אם יש פער עצום בין השניים?היום SuperUser Q & פוסט בודק את התשובה לבעיה זו מבלבל.

השאלה של היום &מפגש תשובה מגיע אלינו באדיבות SuperUser - חלוקה של סטאק שערי, קהילה מונחה קיבוץ של Q & אתרי אינטרנט.

השאלה

SuperUser הקורא thelastblack רוצה לדעת למה יש כזה הבדל עצום בין 'גודל' ו 'גודל על דיסק' עבור תיקייה על כרטיס ה- SD של הטלפון שלו:

כפי שניתן לראות להלן, יש כל כך הרבה הבדל ביןשדות 'גודל' ו 'גודל בדיסק' עבור תיקיה זו.למה?

אני יודע כי 'גודל על דיסק' צריך להיות קצת יותר מאשר 'גודל' בגלל הקצאת יחידות ב- Windows, אבל למה יש הבדל גדול?זה יכול להיות בגלל מספר גדול של קבצים?

BTW, התיקייה הזו נמצאת בכרטיס SD של הטלפון של Android.בתוך זה, האפליקציה מפות שלי מאחסן מפות המטמון שלו, ואת היישום מקבל מפות שלה ממפות Google.

להסתכל על צילום המסך, יש בהחלט פער עצום בין 'גודל' ו 'גודל על דיסק', אז מה קרה כאן כדי לגרום לזה?

תשובה

SuperUser תורם בוב יש את התשובה עבורנו:

אני יהיה בהנחה שאתה משתמש במערכת הקבצים FAT / FAT32 כאן, שכן אתה מזכיר את זה הוא כרטיס SD.NTFS ו- exFAT מתנהגים באופן דומה ביחס ליחידות ההקצאה.מערכות קבצים אחרות עשויות להיות שונות, אך הן אינן נתמכות ב- Windows בכל מקרה.

instagram viewer

אם יש לך הרבה קבצים קטנים, זה בהחלט אפשרי.קח את זה:

  • 50,000 קבצים
  • 32 KB גודל אשכול( יחידות הקצאה), המהווה את המקסימום עבור FAT32

אוקיי, עכשיו המינימום שטח נלקח הוא 50,000 * 32,000 = 1.6 GB( באמצעות קידומות SI, לא בינארי, כדי לפשט אתמתמטיקה).החלל שכל קובץ לוקח על הדיסק הוא תמיד מספר רב של גודל יחידת ההקצאה - וכאן אנו מניחים שכל קובץ הוא למעשה קטן מספיק כדי שיתאים ליחידה אחת, עם שטח( מבוזבז) שנותר.

אם כל קובץ בממוצע 2 KB, תקבל בערך 100 MB סה"כ - אבל אתה גם מבזבז 15x כי( 30 KB לקובץ) בממוצע בשל גודל יחידת ההקצאה.

In-Depth הסבר

למה זה קורה?ובכן, מערכת הקבצים FAT32 צריכה לעקוב אחר המקום שבו כל קובץ מאוחסן.אם זה היה לשמור רשימה של כל בית בודד, את הטבלה( כמו פנקס כתובות) יגדל באותה מהירות כמו הנתונים - ובזבז הרבה מקום.אז מה שהם עושים הוא להשתמש "יחידות הקצאה", הידוע גם בשם "גודל אשכול".הכרך מחולק ליחידות ההקצאה הללו, ומבחינת מערכת הקבצים, הן אינן ניתנות לחלוקה - אלה הן הקוביות הקטנות ביותר שניתן לטפל בהן.בדיוק כמו שיש לך מספר בית, אבל הדוור שלך לא אכפת כמה חדרי שינה יש לך או מי גר בהם.

אז מה קורה אם יש לך קובץ קטן מאוד?ובכן, מערכת הקבצים לא אכפת אם הקובץ הוא 0 KB, 2 KB, או אפילו 15 KB, זה ייתן את זה לפחות שטח זה יכול - בדוגמה לעיל, זה 32 KB.הקובץ שלך הוא רק באמצעות כמות קטנה של שטח זה, והשאר הוא מבוזבז ביסודו, אבל עדיין שייך לקובץ - כמו חדר שינה אתה משאיר פנוי.

מדוע יש יחידות שונות של הקצאת יחידות?ובכן, זה הופך להיות מסחר בין שולחן גדול יותר( פנקס כתובות, למשל אומר ג 'ון הבעלים של בית ברחוב 123 מזויפים, 124 רחוב מזויף, 666 השטן נתיב, וכו'), או יותר מבוזבז שטח בכל יחידה( בית).אם יש לך קבצים גדולים יותר, הגיוני יותר להשתמש ביחידות הקצאה גדולות יותר - מכיוון שקובץ אינו מקבל יחידה חדשה( בית) עד שכל שאר הקבצים מתמלאים.אם יש לך הרבה קבצים קטנים, טוב, אתה הולך להיות שולחן גדול( פנקס כתובות) בכל מקרה, אז אולי גם לתת להם יחידות קטנות( בתים).

יחידות הקצאה גדולה, ככלל, יבזבז הרבה מקום אם יש לך הרבה קבצים קטנים.בדרך כלל אין סיבה טובה ללכת מעל 4 KB לשימוש כללי.פירוק

?

באשר פיצול, פיצול לא צריך לבזבז את החלל בצורה זו.קבצים גדולים עשויים להיות מקוטעים, כלומר לפצל, ליחידות הקצאה מרובות, אך יש למלא כל יחידה לפני תחילת העבודה הבאה.Defragging עשוי לחסוך מקום קטן בטבלאות הקצאה, אבל זה לא הנושא הספציפי שלך.

פתרונות אפשריים

כפי Gladiator2345 הציע, האפשרויות האמיתיות רק בשלב זה הם לחיות עם זה או לאתחל מחדש עם יחידות הקצאה קטנות יותר.

ייתכן שהכרטיס שלך מעוצב ב- FAT16, שיש לו מגבלה קטנה יותר על גודל הטבלה ולכן דורש יחידות הקצאה גדולות בהרבה כדי לטפל בנפח גדול יותר( עם גבול עליון של 2 GB עם 32 KB יחידות הקצאה).מקור באדיבות בריאם.אם זה המקרה, אתה אמור להיות מסוגל בבטחה פורמט כמו FAT32 בכל מקרה.

יש משהו להוסיף להסבר?נשמע את ההערות.רוצה לקרוא תשובות נוספות ממשתמשים אחרים בעלי ידע טכנולוגי?בדוק את נושא הדיון המלא כאן.