ce naiba este un Kibibyte?

pe lângă faptul că este oarecum penibil, fondatorul nostru Steve are o binecunoscută înclinație pentru a fi pedant. Dacă izbucnește în zona de dezvoltare și începe să prăjească oamenii, chiar și inginerii experimentați sunt adesea încurcați când au pus prima dată întrebarea: „Kilobytes sau kibibytes?”.

kibibytes

chiar dacă nu ați auzit termenul, probabil că sunteți cel puțin familiarizați cu conceptul. Un” kibibyte ” este egal cu 1024, sau 2^10, octeți. Destul de simplu, dar nu este un „kilobyte” și 1024 octeți? Ei bine, este, uneori. Așa cum este definit de Sistemul Internațional de unități, prefixul „kilo” se referă la 1000 sau 10^3. Majoritatea producătorilor de stocare măsoară și etichetează capacitatea în baza 10 (1 kilobyte = 1000 octeți; 1 megabyte = 1000 kilobyte; 1 gigabyte = 1000 megabyte; 1 terabyte = 1000 Gigabyte). Vânzătorii RAM și majoritatea sistemelor de operare folosesc însă baza 2 (1 kilobyte = 1024 octeți; 1 megabyte = 1024 kilobyte; 1 gigabyte = 1024 megabyte; 1 terabyte = 1024 Gigabyte). (O excepție notabilă de la aceasta este macOS, care a folosit baza 10 de la OS X 10.6.) Deci, pentru a ști exact ce se înțelege prin „gigabyte”, trebuie să cunoașteți contextul în care este folosit cuvântul. Dacă vorbim despre capacitatea hard disk-ului brut, un gigabyte este de 1000000000 octeți. Dacă vorbiți despre sistemul de fișiere de pe hard disk, atunci gigabyte înseamnă 1073741824 octeți.

confuz încă? Acesta este motivul pentru care „kibibyte” este important; „kilo” (și „giga”, etc) este ambiguu atunci când este folosit pentru a însemna atât 1000, cât și 1024, astfel încât un nou set de Prefixe binare au fost stabilite de IEC în 1998 pentru a reduce confuzia. Alte prefixe includ” mebi”,” gibi”,” tebi „și” pebi „pentru a înlocui” mega”,” giga”,” tera ” și „peta” respectiv. (Există mai multe prefixe pentru cantități mai mari, dar dacă într-adevăr credeți că aveți nevoie de ele, puteți merge să le căutați singur.)

deci, asta e tot bine și dandy, dar este într-adevăr atât de mare de o afacere? Contează cu adevărat o diferență de 24 de octeți pe kilobyte? Să luăm în considerare o unitate anunțată ca având 2 terabytes (2 x 10^12 octeți) de capacitate. Am unul formatat ca volum VMFS în laboratorul meu VMware. După formatare, VMware raportează 2000112582656 octeți de capacitate (curios mai mult de 2 terabytes, dar nu mă voi plânge de a obține mai mulți octeți decât publicitate). Să vedem cum diferă acest lucru atunci când este afișat de LogicMonitor ca terabytes (deoarece termenul este utilizat de furnizorii de stocare) și tebibytes:

2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 terabytes

grafic

2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebibytes
captură de ecran-2017-01-20-la-10-57-44-am

cititorul abil ar putea observa că de fapt nu există nicio diferență între 2.000 terabytes și 1.819 tebibytes și ar fi corecte. Cu toate acestea, dacă nu sunteți pe un Mac, sistemul de operare și managerul de fișiere raportează probabil capacitatea și dimensiunea fișierului în tebibytes. Notația nu o va face neapărat evidentă. De exemplu, comanda df pe linux ar raporta 1.8 T, în timp ce Windows Explorer ar raporta 1.82 TB. Windows folosește standardul JEDEC în loc de IEC, deci, în timp ce valoarea este egală cu tebibytes, ar fi totuși etichetată ca „terabytes”. Standardul JEDEC consideră că 1 kilobyte este egal cu 1024 octeți. În acest caz, există o discrepanță de ~180 gigabyte sau gibibyte. Dacă conectați noua unitate strălucitoare de 2 terabyte, este posibil să fiți dezamăgit când sistemul dvs. de Operare o raportează ca doar 1,8 terabytes. Același cuvânt, dar sens diferit în contexte diferite.

ce legătură au toate acestea cu LogicMonitor? Ei bine, dacă definiți un grafic în LogicMonitor, în mod implicit va scala valorile grafice folosind baza de 10 kilobytes. Dacă grafic 2000112582656 bytes, grafic în LogicMonitor va afișa 2.00 T atunci când mouseover linia. Totuși, acest lucru nu este ideal, deoarece doriți ca instrumentul dvs. de monitorizare să îl afișeze la fel ca sistemul dvs. de operare, folosind baza 2 kibibytes (1.82 T). Din fericire pentru tine (și pentru noi), aceasta este o opțiune! Fiecare definiție a graficului din LogicMonitor are opțiunea de a scala pe unități de 1024; tot ce trebuie să faceți este să bifați caseta și să vă asigurați că convertiți valorile în octeți. LogicMonitor se va ocupa de restul.

o problemă finală ar putea să vă deranjeze; de ce LogicMonitor implicit la scalarea cu unități de 1000 dacă majoritatea sistemelor de Operare scalează unitățile de stocare cu 1024? Răspunsul este că, în ciuda a ceea ce vă poate spune administratorul de stocare, monitorizarea nu este doar monitorizarea stocării și a serverului. Aproape orice altceva – biți de rețea pe secundă, cereri HTTP pe secundă, latență, adâncimea cozilor SQS, numărul de obiecte dintr – un cache-scale folosind baza 10. Numai pentru sistemele de fișiere și memoria trebuie să verificați opțiunea „scale by 1024”.

dacă toate sistemele de operare ar adopta standardul de raportare în tebibytes și gibibytes, ar elimina confuzia. Dar până atunci, amintiți-vă că prefixul „giga” înseamnă un lucru atunci când vorbim despre sisteme de memorie și fișiere și un alt lucru atunci când vorbim despre orice altceva.

crezi că ai o privire ciudată de la colegii tăi sysadmin când menționezi „kibibyte”? Încercați să întrebați echipa dvs. de rețea despre”gibibiți”.

Lasă un răspuns

Adresa ta de email nu va fi publicată.