Почему размер дан lsblk, отличающимся от размера lsblk-b

У меня есть диск, которые появляются с 134G с командой lsblk но более высокое количество с lsblk -b (о 10G больше)

Почему у меня есть другой размер с lsblk и lsblk-b?

#lsblk 
NAME        MAJ:MIN RM          SIZE RO TYPE  MOUNTPOINT
sda           8:0    0  134G  0 disk 
[...]
# lsblk -b
NAME        MAJ:MIN RM          SIZE RO TYPE  MOUNTPOINT
sda           8:0    0  147035272690  0 disk 
[...]
4
задан 30 November 2016 в 08:26

2 ответа

На самом деле разница не является настолько большой. Помните, что гигабайты, мегабайты и т.д., являются кратными числами 1 024 а не 1000. Так, мегабайт 1024 <глоток> 2 , и гигабайт 1024 <глоток> 3 .

Много языков программирования дают удобный операторы сдвига , которые позволяют Вам преобразовать между мега, giga, килограммом и другим - байты. Здесь, с помощью Perl, мы видим, что два значения на самом деле не настолько отличаются:

## How many bytes is 134G?
$ perl -le 'print 134<<30'
143881404416

## How many gigabytes is 147035272690 bytes?
$ perl -le 'print 147035272690>>30'
136

все еще существует несоответствие 2G между числами, но это нигде не рядом 10G. Я действительно не знаю, куда то различие прибывает из. Я подозреваю, что там округляют включенные шаги (вероятно, использование пол функция), но я не знаю детали.

2
ответ дан 1 December 2019 в 10:16

Нет большого различия, как Вы думаете.
1 ГБ = 1 073 741 824 байта
Теперь позволяют нам преобразовать Ваших 134 ГБ в байты.
134 ГБ = (134) x (1,073,741,824) = 143881404416 байтов

0
ответ дан 1 December 2019 в 10:16

Другие вопросы по тегам:

Похожие вопросы: