Por que o tamanho da partição e a saída do df são diferentes?

14

Eu tenho uma partição / dev / sda1.
Utilitário de disco mostra que tem a capacidade de 154 GB.
df -h mostra a

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             123G  104G   14G  89% /
devtmpfs             1006M  280K 1006M   1% /dev
none                 1007M  276K 1006M   1% /dev/shm
none                 1007M  216K 1006M   1% /var/run
none                 1007M     0 1007M   0% /var/lock
none                 1007M     0 1007M   0% /lib/init/rw

Por que os resultados são diferentes? Onde estão faltando 31 GB?

    
por xralf 06.04.2011 / 21:28

4 respostas

17

Um motivo pelo qual as capacidades da partição podem diferir é que algum espaço é reservado para o root, no caso de as partições ficarem cheias. Se não houver espaço reservado para root e as partições ficarem cheias, o sistema não poderá funcionar. No entanto, essa diferença é geralmente da ordem de 1%, de modo que não explica a diferença no seu caso. Da man page para df

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system).

Então o df está realmente mostrando o tamanho do seu sistema de arquivos, que geralmente é o tamanho do dispositivo, mas isso pode não ser verdade no seu caso. Seu sistema de arquivos se estende por toda a sua partição?

resize2fs /dev/sda1

faz alguma diferença? Este comando tenta aumentar seu sistema de arquivos para cobrir toda a partição. Mas certifique-se de ter um backup, se você tentar isso.

    
por 06.04.2011 / 21:46
3

A principal diferença é porque algumas coisas dizem que 1 kilobyte é 1000 bytes, e outros dizem que 1 kilobyte é 1024 bytes.

O Gnome Disk Utility mostra a capacidade usando 1 kilobyte = 1000 bytes, porque os fabricantes de discos descrevem os tamanhos dos discos dessa maneira. Isso significa que sua capacidade de disco está próxima de 154.000.000.000 bytes .

Por outro lado, a maioria dos sistemas operacionais informam 1 kilobyte = 1024 bytes. Todas as ferramentas como df e fdisk usam essa convenção. Então, 154.000.000.000 bytes / 1024/1024/1024 = 143,4 GB .

Como o jlliagre aponta corretamente (e Gilles sugere ao solicitar sua saída fdisk ), o utilitário de disco está informando o tamanho do disco rígido inteiro. Mas /dev/sda1 é uma única partição no seu disco rígido. Por exemplo, seu disco rígido provavelmente tem algumas outras partições, como uma partição de 4-8 GB para swap (também conhecida como memória virtual) e uma partição de inicialização que normalmente tem cerca de 100 MB.

Você não postou a saída de fdisk -l /dev/sda , então vamos supor que sua partição de swap tenha 8 GB. Agora estamos com 135 GB .

Depois, há outras coisas que contribuem para a diferença.

Por exemplo, o sistema de arquivos usa parte da partição do disco para metadados. Metadados são coisas como nomes de arquivos, permissões de arquivos, quais partes da partição pertencem a quais arquivos e quais partes da partição são livres. No meu sistema, cerca de 2% da partição é usada para isso. Assumindo que o seu é semelhante, isso levaria o espaço livre para baixo a cerca de 132 GB .

O sistema de arquivos também pode reservar algum espaço que só pode ser usado pelo usuário root. No meu sistema, são 5% da partição, então, no seu caso, isso significaria uma capacidade total de cerca de 125 GB .

Os números exatos dependem se você está usando ext2, ext3, ext4, fat, ntfs, btrfs, etc, e quais configurações foram usadas ao formatar a partição.

Se você estiver usando ext2 ou ext3, sudo tune2fs -l /dev/sda1 pode ajudar a entender onde o espaço está indo.

    
por 07.04.2011 / 11:05
2

Provavelmente eles são usados por inodes. Alguma quantidade pode ser usada pelo MBR.

    
por 07.04.2011 / 09:33
1

sda1 não é todo o seu disco, mas sua primeira partição primária. Você pode ter criado outras partições desmontadas que não aparecem na saída do df ou simplesmente ter sda1 não preenchendo todo o espaço utilizável por algum motivo ou ter o sistema de arquivos não usando todo o espaço disponível em sua partição.

fdisk -l informará como é sua tabela de partição.

    
por 07.04.2011 / 13:31