vad fan är en Kibibyte?

förutom att vara något penurious, har vår grundare Steve en välkänd förkärlek för att vara pedantisk. Om han brister in i utvecklingsområdet och börjar grilla människor, blir även erfarna ingenjörer ofta förvirrade när de först ställde frågan: ”Kilobytes eller kibibytes?”.

kibibytes

även om du inte har hört termen är du förmodligen åtminstone bekant med konceptet. En ”kibibyte” är lika med 1024 eller 2^10 byte. Enkelt nog, men är inte en ”kilobyte” också 1024 byte? Tja, det är det, ibland. Som definierat av det internationella systemet för enheter avser prefixet ”kilo” 1000 eller 10^3. De flesta lagringstillverkare mäter och märker kapacitet i bas 10 (1 kilobyte = 1000 byte; 1 megabyte = 1000 kilobyte; 1 gigabyte = 1000 megabyte; 1 terabyte = 1000 gigabyte). RAM-leverantörer och de flesta operativsystem använder dock bas 2 (1 kilobyte = 1024 byte; 1 megabyte = 1024 kilobyte; 1 gigabyte = 1024 megabyte; 1 terabyte = 1024 Gigabyte). (Ett anmärkningsvärt undantag från detta är macOS, som har använt base 10 sedan OS X 10.6.) Så för att veta vad som exakt menas med ”gigabyte” måste du veta det sammanhang där ordet används. Om du pratar om raw-Hårddiskkapacitet är en gigabyte 1000000000 byte. Om du pratar om filsystemet ovanpå hårddisken betyder gigabyte 1073741824 byte.

förvirrad än? Det är därför ”kibibyte” är viktigt; ”kilo” (och ”giga”, etc) är tvetydigt när det brukar betyda både 1000 och 1024, så en ny uppsättning binära prefix fastställdes av IEC 1998 för att begränsa förvirringen. Andra prefix inkluderar ”mebi”, ”gibi”, ”tebi” och ”pebi” för att ersätta ”mega”, ”giga”, ”tera” respektive ”peta”. (Det finns fler prefix för större kvantiteter, men om du verkligen tror att du behöver dem kan du leta upp dem själv.)

så det är allt bra och dandy, men är det verkligen så stort? Spelar en skillnad på 24 byte per kilobyte verkligen roll? Låt oss betrakta en enhet som annonseras ha 2 terabyte (2 x 10^12 byte) kapacitet. Jag har en formaterad som en VMFS-volym i mitt VMware lab. Efter formatering rapporterar VMware 2000112582656 byte kapacitet (nyfiken mer än 2 terabyte, men jag kommer inte att klaga på att få fler byte än annonserat). Låt oss se hur detta skiljer sig när det visas av LogicMonitor som terabyte (som termen används av lagringsleverantörer) och tebibytes:

2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 terabyte

diagram

2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebibytes
skärmbild-2017-01-20-vid-10-57-44-am

den kloka läsaren kan observera att det faktiskt inte finns någon skillnad mellan 2.000 terabyte och 1.819 tebibytes, och de skulle vara korrekta. Men om du inte är på en Mac, är ditt operativsystem och filhanteraren sannolikt rapporteringskapacitet och Filstorlek i tebibytes. Notationen kommer inte nödvändigtvis att göra det uppenbart. Till exempel skulle DF-kommandot på linux rapportera 1.8 T, medan Windows Explorer skulle rapportera 1.82 TB. Windows använder JEDEC-standarden istället för IEC, så medan värdet är lika med tebibytes, skulle det fortfarande märkas som ”terabyte”. JEDEC-standarden anser att 1 kilobyte är lika med 1024 byte. I det här fallet finns det en ~180 gigabyte eller gibibyte skillnad. Om du ansluter din glänsande nya 2 terabyte-enhet kan du bli besviken när ditt operativsystem rapporterar det som bara 1,8 terabyte. Samma ord, men olika betydelse i olika sammanhang.

Vad har allt detta att göra med LogicMonitor? Tja, om du definierar en graf i LogicMonitor, som standard kommer det att skala dina grafvärden med bas 10 kilobytes. Om du Diagram 2000112582656 byte, diagrammet i LogicMonitor kommer att visa 2.00 T när du mouseover linjen. Det här är dock inte idealiskt, eftersom du vill att ditt övervakningsverktyg ska visa det på samma sätt som ditt operativsystem gör, med BAS 2 kibibytes (1.82 T). Tur för dig (och oss), det är ett alternativ! Varje grafdefinition i LogicMonitor har möjlighet att skala med enheter på 1024; allt du behöver göra är att markera rutan och se till att konvertera dina värden till byte. LogicMonitor sköter resten.

en sista fråga kan störa dig; varför LogicMonitor standard för skalning av enheter av 1000 om de flesta operativsystem skala lagringsenheter av 1024? Svaret är att, trots vad din lagringsadministratör kan berätta för dig, är övervakning inte bara lagring och serverövervakning. Nästan allt annat – nätverksbitar per sekund, HTTP-förfrågningar per sekund, latens, djupet på SQS – köer, antalet objekt i en cache-skalor med bas 10. Det är bara för filsystem och minne som du bör kontrollera alternativet ”skala med 1024”.

om alla operativsystem antog rapporteringsstandarden i tebibytes och gibibytes, skulle det ta bort förvirringen. Men tills dess, kom ihåg att prefixet ”giga” betyder en sak när man pratar om minnes-och filsystem, och en annan sak när man pratar om allt annat.

tror du att du fick ett udda utseende från dina sysadmin-kollegor när du nämnde ”kibibyte”? Försök fråga ditt nätverksteam om”gibibits”.

Lämna ett svar

Din e-postadress kommer inte publiceras.