Co to do cholery jest Kibibajt?

poza tym, że jest nieco pokorny, nasz założyciel Steve ma dobrze znane zamiłowanie do pedantyzmu. Jeśli wkracza na obszar rozwoju i zaczyna grillować ludzi, nawet doświadczeni inżynierowie często są zakłopotani, gdy po raz pierwszy zadają pytanie: „kilobajty, czy kibibajty?”.

kibibytes

nawet jeśli nie słyszałeś tego terminu, prawdopodobnie jesteś przynajmniej zaznajomiony z pojęciem. „Kibibajt” jest równy 1024 lub 2^10 bajtów. Dość proste, ale czy „kilobajt” nie jest również 1024 bajtami? Czasami tak jest. Zgodnie z międzynarodowym systemem jednostek, przedrostek „kilo” odnosi się do 1000, czyli 10^3. Większość producentów pamięci masowych mierzy pojemność etykiet w podstawowej liczbie 10 (1 kilobajt = 1000 bajtów; 1 megabajt = 1000 kilobajtów; 1 gigabajt = 1000 megabajtów; 1 terabajt = 1000 gigabajtów). Dostawcy pamięci RAM i większość systemów operacyjnych używają jednak Bazy 2 (1 kilobajt = 1024 bajty; 1 megabajt = 1024 kilobajty; 1 gigabajt = 1024 megabajty; 1 terabajt = 1024 gigabajty). (Godnym uwagi wyjątkiem jest macOS, który używa base 10 od OS X 10.6.) Więc aby wiedzieć, co dokładnie oznacza „gigabyte”, musisz znać kontekst, w którym słowo jest używane. Jeśli mówimy o pojemności surowego dysku twardego, gigabajt wynosi 1000000000 bajtów. Jeśli mówisz o systemie plików na górze tego dysku twardego, to gigabyte oznacza 1073741824 bajtów.

jeszcze zdezorientowany? Dlatego ” kibibajt „jest ważny;” kilo „(i” giga”, itp.) jest niejednoznaczne, gdy oznacza zarówno 1000, jak i 1024, więc nowy zestaw przedrostków binarnych został ustanowiony przez IEC w 1998 roku, aby ograniczyć zamieszanie. Inne przedrostki to „mebi”, „gibi”, „tebi” i „pebi”, które zastępują odpowiednio „mega”, „giga”, „tera” i „peta”. (Istnieje więcej prefiksów dla większych ilości, ale jeśli naprawdę uważasz, że ich potrzebujesz, możesz sam je sprawdzić.

więc wszystko w porządku i elegancko, ale czy to naprawdę taka wielka sprawa? Czy różnica 24 bajtów na kilobajt ma znaczenie? Rozważmy dysk reklamowany jako posiadający 2 terabajty (2 x 10^12 bajtów) pojemności. Mam jeden sformatowany jako wolumin VMFS w moim VMware lab. Po formatowaniu VMware zgłasza 2000112582656 bajtów pojemności (co ciekawe więcej niż 2 terabajty, ale nie będę narzekać na uzyskanie większej ilości bajtów niż reklamowane). Zobaczmy, jak to się różni, gdy LogicMonitor wyświetla terabajty (jako termin używany przez Dostawców pamięci masowej) i tebibytes:

2000112582656 / 1000 / 1000 / 1000 / 1000 = 2.00 terabajty

Wykres

2000112582656 / 1024 / 1024 / 1024 / 1024 = 1.82 tebibytes
 screen-shot-2017-01-20-na-10-57-44-am

bystry czytelnik może zauważyć, że w rzeczywistości nie ma różnicy między 2.000 terabajtów i 1.819 tebibajtów, i byłyby poprawne. Jeśli jednak nie używasz komputera Mac, Twój system operacyjny i menedżer plików prawdopodobnie zgłaszają pojemność i rozmiar pliku w tebibytes. Notacja nie musi być oczywista. Na przykład polecenie df w systemie linux zgłasza 1,8 TB, podczas gdy Eksplorator Windows zgłasza 1,82 TB. System Windows używa standardu JEDEC zamiast IEC, więc chociaż wartość jest równa tebibytes, nadal będzie oznaczona jako „terabajty”. Standard JEDEC uznaje, że 1 kilobajt jest równy 1024 bajtom. W tym przypadku występuje rozbieżność ~180 gigabajtów lub gibibajtów. Jeśli podłączysz nowy, błyszczący dysk o pojemności 2 terabajtów, możesz być rozczarowany, gdy system operacyjny zgłasza go jako zaledwie 1,8 terabajtów. To samo słowo, ale inne znaczenie w różnych kontekstach.

Co to wszystko ma wspólnego z LogicMonitor? Cóż, jeśli zdefiniujesz wykres w LogicMonitor, domyślnie skaluje on twoje wykresy używając bazowych 10 kilobajtów. Jeśli wykresujesz 2000112582656 bajtów, Twój wykres w LogicMonitor wyświetli 2,00 T po najechaniu myszą na linię. Nie jest to jednak idealne rozwiązanie, ponieważ chcesz, aby Twoje narzędzie monitorujące wyświetlało je w ten sam sposób, w jaki działa Twój system operacyjny, używając podstawowych 2 kibibajtów (1,82 T). Na szczęście dla Ciebie (i dla nas) jest to opcja! Każda definicja wykresu w LogicMonitor ma opcję skalowania według jednostek 1024; wszystko, co musisz zrobić, to zaznaczyć pole i upewnić się, że przekonwertujesz swoje wartości na bajty. LogicMonitor zajmie się resztą.

jeden ostatni problem może cię niepokoić; dlaczego logicmonitor domyślnie skaluje jednostki o wartości 1000, jeśli większość osów skaluje jednostki pamięci o wartości 1024? Odpowiedź jest taka, że pomimo tego, co może Ci powiedzieć administrator pamięci masowej, monitorowanie to nie tylko monitorowanie pamięci masowej i serwera. Prawie wszystko inne-bity sieciowe na sekundę, żądania HTTP na sekundę, opóźnienia, głębokość kolejek SQS, liczba obiektów w pamięci podręcznej – skaluje się za pomocą bazy 10. Tylko w przypadku systemów plików i pamięci należy zaznaczyć opcję „scale by 1024”.

gdyby wszystkie systemy operacyjne przyjęły standard raportowania w tebibytes i gibibytes, wyeliminowałoby to zamieszanie. Ale do tego czasu pamiętaj, że przedrostek „giga” oznacza jedną rzecz, gdy mówimy o pamięci i systemach plików, a inną, gdy mówimy o wszystkim innym.

myślisz, że masz dziwne spojrzenie od kolegów z sysadmin, gdy wspominasz „kibibyte”? Spróbuj zapytać zespół sieci o „gibibits”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.