キビバイトとは何ですか?

ややペナルティであることに加えて、私たちの創設者であるスティーブは、衒学者であることでよく知られている傾向があります。 彼が開発エリアに突入して人々を焼き始めた場合、熟練したエンジニアでさえ、最初に「キロバイト、またはキビバイト?」という質問をしたときにしばしば混乱します。

キビバイト

この用語を聞いたことがなくても、少なくともその概念には精通しているでしょう。 「キビバイト」は1024、つまり2 ^に相当します10、バイト。 十分に単純ですが、「キロバイト」ではありません また 1024バイト? まあ、時々です。 国際単位系で定義されているように、接頭辞「キロ」は1000、つまり10 ^を指します。3。 ほとんどのストレージメーカーは、10進数で容量を測定してラベルを付けます(1キロバイト= 1000バイト、1メガバイト= 1000キロバイト、1ギガバイト= 1000メガバイト、1テラバイト= 1000ギガバイト)。 ただし、RAMベンダーとほとんどのオペレーティングシステムはベース2を使用します(1キロバイト= 1024バイト; 1メガバイト= 1024キロバイト; 1ギガバイト= 1024メガバイト; 1テラバイト= 1024ギガバイト)。 (これに対する注目すべき例外は、OS X 10以降10.6進数を使用しているmacOSです。)したがって、「ギガバイト」が正確に何を意味するのかを知るには、その単語が使用されているコンテキストを知る必要があります。 あなたが生のハードドライブ容量について話しているなら、ギガバイトは 1000000000バイト。 そのハードドライブ上のファイルシステムについて話している場合、ギガバイトは1073741824バイトを意味します。

まだ混乱していますか? これが「キビバイト」が重要である理由です。 「kilo」(および「giga」など)は、1000と1024の両方を意味するために使用されるとあいまいになるため、新しいバイナリプレフィックスのセットが IEC 混乱を減らすために1998年に。 他の接頭辞には、「メガ」、「ギガ」、「テラ」、「ペタ」をそれぞれ置き換える「メビ」、「ギビ」、「テビ」、「ペビ」が含まれます。 (大量のプレフィックスは他にもありますが、本当に必要だと思われる場合は、自分で調べてみてください。)

だから、それはすべてうまくてダンディですが、それは本当に大したことですか? キロバイトあたり24バイトの違いは本当に重要ですか? 2テラバイト(2 x 10 ^)であると宣伝されているドライブについて考えてみましょう。12 バイト)の容量。 VMwareラボにVMFSボリュームとしてフォーマットされたものがあります。 フォーマット後、VMwareは2000112582656バイトの容量を報告します(不思議なことに2テラバイトを超えていますが、宣伝されているよりも多くのバイトを取得することについて文句を言うつもりはありません)。 LogicMonitorによってテラバイト(この用語はストレージベンダーによって使用されているため)およびテビバイトとして表示された場合に、これがどのように異なるかを見てみましょう。

2000112582656/1000/1000/1000/1000 = 2.00テラバイト

グラフ

2000112582656/1024/1024/1024/1024 = 1.82テビバイト
screen-shot-2017-01-20-at-10-57-44-am

賢明な読者は、実際には2.000テラバイトと1.819テビバイトの間に違いがないことに気付くかもしれませんが、それらは正しいでしょう。 ただし、Macを使用している場合を除き、OSとファイルマネージャーは容量とファイルサイズをテビバイト単位で報告している可能性があります。 表記は必ずしもそれを明らかにするわけではありません。 たとえば、 df Linuxのコマンドは報告します 1.8T、 一方、Windowsエクスプローラーは報告します 1.82TB。 Windowsは JEDEC IECではなく標準であるため、値はテビバイトに等しくなりますが、それでも「テラバイト」とラベル付けされます。 JEDEC規格では、1キロバイトは1024バイトに等しいと見なされます。 この場合、約180ギガバイトまたはギビバイトの不一致があります。 光沢のある新しい2テラバイトのドライブを接続すると、オペレーティングシステムが1.8テラバイトと報告したときにがっかりする可能性があります。 同じ言葉ですが、文脈によって意味が異なります。

これはすべてLogicMonitorと何の関係がありますか? LogicMonitorでグラフを定義すると、デフォルトでは、基数10キロバイトを使用してグラフ値がスケーリングされます。 2000112582656バイトをグラフ化すると、LogicMonitorのグラフが表示されます 2.00T 線の上にマウスを置くと。 ただし、これは理想的ではありません。監視ツールでOSと同じように、ベース2キビバイトを使用して表示する必要があるためです(1.82T)。 あなた(そして私たち)にとって幸運なことに、それはオプションです! LogicMonitorのすべてのグラフ定義には、次のオプションがあります。 1024単位でスケーリング; チェックボックスをオンにして、値をバイトに変換するだけです。 LogicMonitorが残りを処理します。

最後の問題の1000つは、気になるかもしれません。 ほとんどのOSがストレージユニットを1024でスケーリングするのに、LogicMonitorがデフォルトでXNUMXのユニットでスケーリングするのはなぜですか? 答えは、ストレージ管理者があなたに言うかもしれないことにもかかわらず、監視は ただの保管と サーバー監視。 他のほとんどすべて(ネットワークビット/秒、HTTPリクエスト/秒、レイテンシー、SQSキューの深さ、キャッシュ内のオブジェクトの数)は、10進数を使用してスケーリングします。「スケールバイ」を確認する必要があるのはファイルシステムとメモリのみです。 1024インチオプション。

すべてのオペレーティングシステムがテビバイトとギビバイトでのレポートの標準を採用した場合、混乱が解消されます。 ただし、それまでは、接頭辞「giga」は、メモリやファイルシステムについて話すときは意味があり、その他すべてについて話すときは別の意味があることを忘れないでください。

「キビバイト」について言及するときに、システム管理者の同僚から奇妙な見た目をしたと思いますか? ネットワークチームに「ギビビット」について聞いてみてください。