alapítónk, Steve, amellett, hogy kissé hamis, jól ismert hajlama van a pedantikára. Ha betör a fejlesztési területre, és elkezdi grillezni az embereket, még a tapasztalt mérnökök is gyakran összezavarodnak, amikor először felteszik a kérdést: “kilobájt vagy kibibájt?”.
még ha nem is hallotta a kifejezést, valószínűleg legalább ismeri a fogalmat. A “kibibyte” egyenlő 1024, vagy 2^10 bájt. Elég egyszerű, de nem egy “kilobájt” is 1024 bájt? Nos, néha az is. A nemzetközi egységrendszer meghatározása szerint a “kilo” előtag 1000-re vagy 10^3-ra utal. A legtöbb tároló gyártó a 10-es bázisban méri és címkézi a kapacitást (1 kilobájt = 1000 bájt; 1 megabájt = 1000 kilobájt; 1 gigabájt = 1000 megabájt; 1 terabájt = 1000 gigabájt). A RAM-gyártók és a legtöbb operációs rendszer azonban a base 2-t használja (1 kilobájt = 1024 bájt; 1 megabájt = 1024 kilobájt; 1 gigabájt = 1024 megabájt; 1 terabájt = 1024 gigabájt). (Figyelemre méltó kivétel ez alól a macOS, amely az OS X 10 óta használja a base 10-et.6.) Tehát ahhoz, hogy megtudja, mit jelent pontosan a “gigabájt”, ismernie kell azt a kontextust, amelyben a szót használják. Ha nyers merevlemez-kapacitásról beszélünk, egy gigabájt 1000000000 bájt. Ha a merevlemez tetején lévő fájlrendszerről beszélünk, akkor a gigabyte 1073741824 bájtot jelent.
zavaros még? Ezért fontos a “kibibyte”; a “kilo” (és a “giga” stb.) kétértelmű, ha 1000-et és 1024-et is jelent, ezért az IEC 1998-ban új bináris előtag-készletet hozott létre a zavar csökkentése érdekében. Más előtagok közé tartozik a” mebi”,” gibi”,” tebi “és a” pebi “a” mega”,” giga”,” tera ” és “peta” helyett. (Több előtag van nagyobb mennyiségekhez, de ha valóban úgy gondolja, hogy szüksége van rájuk, akkor maga is megkeresheti őket.)
szóval, ez minden rendben és dandy, de ez tényleg olyan nagy ügy? Valóban számít a kilobájtonként 24 bájt különbség? Vegyünk egy olyan meghajtót, amely 2 terabájt (2 x 10^12 bájt) kapacitással rendelkezik. Van egy formázott VMFS kötet az én VMware lab. A formázás után a VMware 2000112582656 bájt kapacitást jelent (kíváncsian több mint 2 terabájt, de nem fogok panaszkodni, hogy több bájtot kapok, mint amennyit hirdetnek). Lássuk, hogy ez miben különbözik, ha a LogicMonitor terabájtként jeleníti meg (mivel a tárolószolgáltatók ezt a kifejezést használják) és tebibyte-ként:
2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 terabájt
2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebibyte
az okos olvasó megfigyelheti, hogy valójában nincs különbség 2000 terabájt és 1819 tebibájt között, és igazuk lenne. Azonban, hacsak nem Mac-en van, az operációs rendszer és a fájlkezelő valószínűleg tebibyte-ban jelenti a kapacitást és a fájlméretet. A jelölés nem feltétlenül teszi nyilvánvalóvá. Például a df parancs Linuxon 1.8 T-t jelent, míg a Windows Intéző 1.82 TB-t jelent. A Windows az IEC helyett a JEDEC szabványt használja, így bár az érték megegyezik a tebibájtokkal, mégis “terabájtként”lenne címkézve. A JEDEC szabvány szerint 1 kilobájt egyenlő 1024 bájttal. Ebben az esetben ~180 gigabájt vagy gibibájt eltérés van. Ha csatlakoztatja a fényes új 2 terabájtos meghajtót, csalódott lehet, amikor az operációs rendszer csak 1,8 terabájtként jelenti be. Ugyanaz a szó, de más jelentés a különböző kontextusokban.
mi köze mindennek a LogicMonitor-hoz? Nos, ha megad egy grafikont a LogicMonitor alkalmazásban, alapértelmezés szerint a grafikus értékeket 10 kilobájt alap segítségével méretezi. Ha 2000112582656 bájtot ábrázol, a LogicMonitor grafikonja 2,00 T értéket jelenít meg, amikor az egérmutatót áthúzja. Ez azonban nem ideális, mivel azt szeretné, hogy a megfigyelő eszköz ugyanúgy jelenítse meg, mint az operációs rendszer, a base 2 kibibytes (1.82 T) használatával. Szerencsédre (és nekünk is) ez egy lehetőség! A LogicMonitor minden gráfdefiníciójának lehetősége van 1024-es egységek méretezésére; csak annyit kell tennie, hogy bejelöli a négyzetet, és győződjön meg róla, hogy az értékeket bájtokká alakítja. A LogicMonitor kezeli a többit.
egy utolsó kérdés zavarhatja Önt; miért alapértelmezés szerint a LogicMonitor méretezi az 1000 egységekkel történő méretezést, ha a legtöbb operációs rendszer 1024-re méretezi a tárolóegységeket? A válasz az, hogy annak ellenére, amit a tároló rendszergazdája mondhat, a megfigyelés nem csak a tároló és a kiszolgáló megfigyelése. Szinte minden más-hálózati bit másodpercenként, HTTP kérések másodpercenként, késleltetés, az SQS sorok mélysége, a gyorsítótárban lévő objektumok száma – a 10.bázist használja. Csak a fájlrendszerek és a memória esetében érdemes ellenőrizni a” scale by 1024 ” opciót.
ha minden operációs rendszer elfogadná a tebibyte és gibibyte jelentési szabványt, az megszüntetné a zavart. De addig ne feledje, hogy a “giga” előtag egy dolgot jelent, amikor memóriáról és fájlrendszerről beszélünk, és egy másik dolgot, amikor minden másról beszélünk.
gondolja, hogy furcsa pillantást kapott a rendszergazdai kollégáitól, amikor megemlítette a “kibibyte”szót? Próbálja meg megkérdezni a hálózati csapatot a “gibibits” – ről.