Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
1 KiB = 9,53674316406e-7 GiB
Digite um valor e a conversão de kibibyte para gibibyte se atualiza enquanto você escreve. O fator exibido é 9,53674316406e-7: é isso que corresponde em GiB a 1 KiB. O cálculo é feito no seu próprio aparelho, e o valor digitado não é enviado para um servidor.
512 KiB is 0,0004883 GiB
— meio mebibyte.
4 KiB is 0,000003815 GiB
— uma página de memória em quase todos os sistemas.
8389000 KiB is 8 GiB
— a memória de um notebook intermediário.
976200000 KiB is 931 GiB
— o que o Windows mostra para um disco de um terabyte.
| KiB | GiB |
|---|---|
| 10000 | 0,00953674316406 |
| 20000 | 0,0190734863281 |
| 50000 | 0,0476837158203 |
| 100000 | 0,0953674316406 |
| 500000 | 0,476837158203 |
| 1000000 | 0,953674316406 |
| 5000000 | 4,76837158203 |
| 10000000 | 9,53674316406 |
Converter KiB para GiB
Um kibibyte são exatamente 1.024 bytes. O nome foi introduzido em 1998 para que «kilobyte» pudesse voltar a significar 1.000, embora o costume nunca tenha pegado de vez.
Um gibibyte são 1.073.741.824 bytes, cerca de 7 % a mais que um gigabyte. O Windows mede em gibibytes mas rotula «GB», e é nisso que consiste todo o mistério do espaço que some.
Neste sentido a conta é uma divisão, e por um número inteiro: 1.048.576 dessas cabem em um gibibyte sem sobrar nada. O incômodo é só que os resultados saem em frações — um terço, um doze avos — em vez dos números redondos que o sentido contrário dá.
Mesmo assim não se perde nada, porque a divisão é exata. Se o seu resultado não quer parar quieto em decimais — 0,0833… e parentes —, isso é a fração aparecendo, não um erro se instalando.
Um KiB são 1.024 da unidade de baixo; um kB, 1.000. Nesta página isso é a diferença entre 0 GiB e 0 GiB — 2,4 % — e a distância cresce a cada degrau: por isso é arredondamento desprezível numa foto e um pedaço visível de um HD.
O mistério do espaço que some é inteiro isso. Um disco vendido como um terabyte tem exatamente o que diz em unidades decimais; o Windows reconta em unidades binárias e mantém o nome decimal, então o número encolhe sem que nada tenha se perdido. O macOS conta em unidades decimais desde o 10.6, e é por isso que o mesmo disco pode aparecer com dois tamanhos em dois computadores.
Todo valor em /proc/meminfo é uma contagem de unidades de 1.024 bytes impressa sob um rótulo lido como kB, e o mesmo vale para /proc/swaps, os arquivos de meminfo por nó em /sys, e os sysctls de memória. O rótulo é anterior ao kibibyte ter um nome próprio, e mudá-lo agora quebraria todo script que já leu esse arquivo, então continua "errado" e todo mundo que lê programaticamente sabe ignorar isso.
A consequência para quem converte manualmente é um erro de 2,4% no primeiro passo e 7,4% ao chegar em gibibytes, na direção que faz a máquina parecer menor do que é. Pegar o MemTotal em 16.316.480 e dividir por um milhão dá 16,3 "GB"; dividir por 1.048.576 dá 15,56 GiB, e é o segundo valor que vai bater com o que qualquer outra ferramenta na máquina informa.
Num disco rígido, o valor decimal é do fabricante e o valor binário é do sistema operacional, e nenhum dos dois é mais correto — são duas formas de contar os mesmos bytes. Memória não é assim. Um chip de memória é selecionado por linhas de endereço, n delas decodificando 2ⁿ posições, então capacidades caem em potências de dois porque qualquer outra coisa deixaria parte do espaço de endereços sem decodificar nada.
Isso faz de 8 GiB o tamanho verdadeiro de um pente de "8 GB": 8.589.934.592 bytes, com o rótulo decimal sendo a aproximação, e não o contrário. É o motivo de um valor de memória e um valor de armazenamento de tamanho nominal igual não serem a mesma quantidade de bytes, e o motivo de converter uma contagem de memória em kibibytes para GiB dar um número redondo, enquanto converter um valor de disco quase nunca dá.
A diferença é real e vem discriminada, não é misteriosa. O firmware reserva regiões abaixo de 1 MiB e ao redor das tabelas ACPI; a placa de vídeo integrada tira uma fatia fixa que pode chegar a um gibibyte num notebook; a imagem do kernel, as tabelas de página e o mapa de memória da própria máquina saem do total antes de o MemTotal ser calculado. O comando dmesg com grep por "memory" mostra as reservas na inicialização.
Um notebook de 16 GiB relatando 15,56 GiB, portanto, perdeu cerca de 450 MiB, ou 460.736 KiB, e vale converter a diferença em vez do total quando a pergunta é "para onde foi". Um servidor com memória com correção de erro perde mais um oitavo aos bits de verificação, embora essa fatia seja invisível ao kernel e nunca apareça no valor em kibibytes.
A razão é 1.048.576, próxima o bastante de um milhão para que cortar seis dígitos dê uma estimativa dentro de cinco por cento. Um MemTotal de 32.633.240 KiB se lê como "cerca de 32,6", e o valor real é 31,12 GiB — cerca de 4,6% mais baixo sempre, então a correção é fixa em vez de recalculada toda vez.
Para um valor que precisa estar certo, conte as vírgulas em vez disso. De kibibytes para mebibytes são três vírgulas para trás e uma pequena correção; de mebibytes para gibibytes, o mesmo de novo. Fazer em dois passos de dez bits é mais fácil de conferir que um passo de vinte bits, e coloca o valor em mebibytes na sua frente, que é a unidade que a maioria das configurações de contêiner e JVM pede de qualquer forma.
Páginas de memória comuns têm 4 KiB em x86-64, e huge pages têm 2 MiB, relatadas pelo kernel como Hugepagesize: 2048 kB. Um pool declarado como 2.048 huge pages são 4.194.304 KiB, exatamente 4 GiB — a aritmética fica limpa porque toda quantidade envolvida é uma potência de dois, motivo pelo qual huge pages têm esse tamanho para começar.
Deixa de ficar limpo quando alguém define o pool a partir de uma porcentagem. Reservar "cerca de um terço" de uma máquina de 62 GiB dá 10.600 páginas, ou 21.708.800 KiB, ou 20,7 GiB, e o valor incômodo em gibibyte é o sinal de que o número veio de uma porcentagem em vez de uma carga de trabalho real. Bancos de dados e máquinas virtuais que querem huge pages geralmente querem um valor específico, e é mais fácil declará-lo em GiB e converter para baixo.
/proc/swaps relata a coluna Size em blocos de 1.024 bytes, então um arquivo de swap de 8.388.604 blocos são 8 GiB menos quatro blocos — os quatro kibibytes ausentes são o cabeçalho que a área de swap escreve na frente. O comando swapon --show imprime a forma legível e esconde esse detalhe, o que serve para leitura e engana quem está tentando entender por que o arquivo que criou voltou quatro kibibytes menor.
Os parâmetros de ajuste também continuam em kibibytes. vm.min_free_kbytes define a reserva que o alocador não vai tocar, comumente perto de 67.584 num desktop, o que dá 66 MiB ou 0,06 GiB — pequeno o bastante para que o valor em gibibyte seja inútil e o valor em kibibyte seja a unidade certa para pensar. Converta para conferir a ordem de grandeza, depois deixe o campo como estava.
O mesmo computador relata sua memória em unidades binárias rotuladas como decimais e seu armazenamento em unidades decimais relabeladas como binárias, e os dois hábitos se encontram no meio sem aviso nenhum. Um computador descrito como "16 GB de RAM e 512 GB de SSD" tem 17,18 bilhões de bytes de memória e 512 bilhões de bytes de disco, e o disco vai aparecer como 476,8 GiB enquanto a memória aparece como bem perto de 16.
A regra prática é olhar quem fez o rótulo. Onde um fabricante escolheu o número — discos, armazenamento de celular, velocidade de rede — é decimal, e o valor binário vai parecer menor. Onde o hardware escolheu o número — pentes de memória, tamanho de página, linhas de cache, espaços de endereço — é binário, e o valor decimal é o arredondamento. Uma contagem em kibibytes vinda do kernel é sempre do segundo tipo.
1 KiB é 9,53674316406e-7 GiB. A equivalência entre kibibyte e gibibyte é fixa; o número exibido é limitado a doze algarismos significativos para evitar ruído de ponto flutuante.
Não. O cálculo acontece no seu navegador. Você pode desconectar da internet e continuar calculando, que aliás é a forma mais simples de conferir isso.
Porque duas unidades diferentes têm o mesmo nome. Os fabricantes contam 1 GB = 1.000.000.000 bytes; o Windows mostra gibibytes, ou seja 1.073.741.824 bytes, mas chama de «GB». O mesmo disco parece assim sete por cento menor. Nada sumiu.
Um GiB é 1048580 KiB. É a mesma relação lida de trás para frente, então um resultado de uma página passado pela outra tem que voltar ao ponto de partida.
O que esta página afirma sobre unidades de informação pode ser conferido, e estes são os documentos que resolvem a questão.
O fator é uma constante na página e a conta são quatro operações, então nada é enviado a lugar nenhum e nada precisa ser. O número que você digita não sai do navegador — não existe requisição em que ele pudesse viajar.