分析と広告のためのCookie
分析と広告のためにCookieを使っており、どちらもGoogleに送られます。拒否しても、目に見える動作は何も変わりません。プライバシーポリシーを読む
1 GiB = 1073.741824 MB
値を入力すると、ギビバイトからメガバイトへの計算が入力に合わせてその場で進みます。1 GiB あたり 1073.741824 MB.この比は測って求めたものではなく、定義で決まっています。計算はお使いの端末の中で行われ、入力した数字が通信に乗ることはありません。ただし、そのまわりのページのほうは、ほかのどのページとも同じように広告を読み込みます。
16 GiB is 17180 MB
— 中級ノートパソコンのメモリー.
931 GiB is 999700 MB
— 1 テラバイトのディスクを Windows が表示する数.
0.004657 GiB is 5 MB
— そこそこのビットレートの曲 1 曲.
3.725 GiB is 4000 MB
— 標準的な画質の映画 1 本.
| GiB | MB |
|---|---|
| 1 | 1073.741824 |
| 2 | 2147.483648 |
| 5 | 5368.70912 |
| 10 | 10737.41824 |
| 50 | 53687.0912 |
| 100 | 107374.1824 |
| 500 | 536870.912 |
| 1000 | 1073741.824 |
GiB を MB に変換
1 ギビバイトは 1,073,741,824 バイトで、ギガバイトより 7 % ほど大きい値です。Windows はギビバイトで測りながら、それを「GB」と表示します。「容量が足りない気がする」という疑問のからくりは、まるごとこれです。
1 メガバイトは 100 万バイトです。記憶装置のメーカーは昔から十進で数えてきました。だからその数字は、コンピューターが表示する数より大きく見えます。
倍率は 1073.741824 で、これをそのまま持ち歩く人はまずいません。1070 に丸めると 0.35 % ずれます。小さい数では見えもしませんが、1,000 GiB あたりで、ずれは丸ごと 1 単位になります。
丸める前に知っておく価値があるのは、ずれの大きさそのものではなく、それを無視できなくなる地点のほうです。それより下なら短い倍率が賢明で、それより上なら上の入力欄を使ってください。あちらは書き出す前に丸めません。
GiB 1 つはひとつ下の単位の 1,024 倍で、GB 1 つは 1,000 倍です。このページでは 1073.7418 MB と 1000 MB の差——7.4 %——になり、段を上がるごとにこの隔たりは開いていきます。写真 1 枚では丸め誤差でしかないものが、ハードディスクでは目に見える割合になるのはそのためです。
「容量が消えた」という話の中身は、これだけです。GB で売られたディスクには、書いてあるとおりのバイト数が入っています。それを 1,000 ではなく 1,024 で割り、名前は GB のまま表示しているのが Windows です。macOS は 10.6 以降ディスクの容量を十進の単位で数えているので、同じディスクが 2 台のパソコンで違う大きさに見えることがあります。減ったものはなく、丸めているのでもありません。同じバイト数に、名前が 2 つあるだけです。
このカテゴリーの他の量は慣習として二進法を選んでいるだけですが、メモリーはそうではありません。チップはアドレス線で選択され、n 本の線はちょうど 2 の n 乗の位置に届きます。10 本なら 1,024、20 本なら 1,048,576、30 本なら 1,073,741,824 です。丸い十進の位置数に届く配線は存在しないので、メモリー容量は誰かの選択ではなく構造上 2 の累乗になります。
16 GB として売られるメモリーモジュールが 17,179,869,184 バイトを持っていても誰も異議を唱えません。ラベルは二進の量に十進の接頭辞を当てはめたもので、これはハードディスクなら論争の的になる慣習ですが、メモリーでは唯一実在する部品を説明する読み方だからです。
計算は 1,073.741824 を掛けるだけです。8 GiB は 8,589.93 MB、16 GiB は 17,179.87 MB、64 GiB は 68,719.48 MB です。これらは正しい十進の数字ですが、メモリー割り当て欄が求めているものとはほぼ一致しません。MB と書かれた欄はたいていメビバイトを意味し、8,192、16,384、65,536 を期待しています。
そのフィールドが本当に十進法を意味している場合、丸い二進の数字を入力すると意図より 4.6 パーセント少ないメモリーを渡すことになり、チューニングされたヒープやデータベースのバッファプールでは、エラーを出さずに挙動を変えるのに十分な差になります。
丸い二進の数字を割り当てて、ゲスト側が何を受け取ったか確認してください。フィールドに 4,096 を入れて起動し、報告されたメモリーを読みます。ちょうど 4 GiB と表示されればそのフィールドはメビバイト、3.81 GiB と表示されれば十進のメガバイトです。テストは 1 分で終わり、その答えはそのツールについて恒久的に有効です。
ドキュメントより実際の挙動を優先してください。この点についてのドキュメントは、質問自体を考慮せずに書かれていることが少なくありません。
ホストの GiB の数字からプロセスの割り当てまでの道筋は、たいてい 3 つの単位と少なくとも 1 回の引き算を経由します。ホストは GiB で報告し、OS やページキャッシュ、他のプロセスのために何かを残す必要があり、残りが MB か MiB の欄に入り、プロセス内部ではその数字にオーバーヘッドが上乗せされてヒープになります。
確実な進め方は、すべての段階をバイトのまま計算し、最後にフィールドが求める単位へ 1 回だけ変換することです。単位を混ぜたまま引き算をすると、十進の数字と二進の数字の間の引き算になり、結果はどちらでもない数字になります。
ハイパーバイザーは通常、ゲストの合計がホストの物理メモリーを上回る約束を許します。すべてのゲストが同時に最大まで使うことはないという前提です。つまり意図より 5 パーセント小さい割り当ては、設定時にも起動時にも通常の負荷でも失敗しません。想定していたまさにその圧力がかかったときに失敗します。
失敗したときの症状は原因から離れたところに現れます。スワップするゲスト、収集に時間を費やすヒープ、想定より悪いヒット率のキャッシュはどれもチューニングの問題に見え、設定の数字自体は誰かが入力しようとした数字なので正しく見えます。
インストール済みメモリーと利用可能メモリーが違う数字になるのは、単位とは無関係の理由によることもあります。ファームウェアが領域を予約し、統合グラフィックスを持つ機械では表示用にブロックが切り出されます。16 GiB を搭載したシステムが目に見えて少ない使用可能量を報告することがあります。
単位の差は常に同じ割合(4.9 や 7.4 パーセント)で、ハードウェアの予約は総量に比例しない固定量です。設定を変えても欠けている量が一定なら予約、割合で変わるなら算術の問題です。この 1 つのテストで、ハードウェアの問題と単位の問題を数分で切り分けられます。
4,000 MB のメモリーを割り当てても禁じられてはおらず、動作もします。ただしページサイズやヒュージページサイズ、その下の多くの構造にきれいに割り切れないため、各層でわずかに丸められ、設定した数字と実際に有効な数字は完全には一致しません。4,096 MiB という数字はすべての層をそのまま通過します。
ドキュメントとしての利点もあります。2 の累乗で埋まった設定は自己説明的で、レビューする人は 8,192 を見て計算なしに 8 GiB だと分かりますが、8,590 は調べる必要があり誤入力にも気づきにくくなります。
1 GiB は 1073.741824 MB.画面に出しているのは有効数字 12 桁までです。ギビバイトとメガバイトの比そのものは定義によって決まっている厳密な値で、丸めが入るのは表示のところだけです。
いいえ。計算はブラウザーの中で行われます。通信を切ったままでも計算は続けられますし、それがいちばん手軽な確かめ方でもあります。
同じ名前の単位が 2 つ動いているからです。メーカーは 1 GB を 1,000,000,000 バイト(10 億バイト)として数えます。一方 Windows が表示しているのはギビバイト、つまり 1,073,741,824 バイトで、それを「GB」と呼んでいます。同じディスクが 7 パーセントほど小さく見えるのはこのためです。消えたものは何もありません。
1MBは0.000931323GiBです。同じ関係を逆から読んだだけなので、一方のページの答えをもう一方に通せば、必ず元の値に戻ります。
このページがデータ量の単位について述べていることは検証できます。根拠となる資料は次のとおりです。
係数はページ内の定数で、計算は四則演算だけです。だからどこにも送信されませんし、送信する必要もありません。入力した数値はブラウザーから出ません。運ぶためのリクエストが存在しないからです。