AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 776913
Accepted
Андрей Тернити
Андрей Тернити
Asked: 2024-05-22 12:31:45 +0800 CST2024-05-22 12:31:45 +0800 CST 2024-05-22 12:31:45 +0800 CST

ext2 Como escolher a proporção bytes/inode

  • 772

Como calcular aproximadamente bytes por inode para ext2?

Tenho 7,3 GB de armazenamento (15320519 setores de 512B cada). Eu criei um sistema de arquivos ext2 com tamanho de bloco 4096

mke2fs /dev/sda2 -i 524288 -m 0 -L "SSD" -F -b 4096 -U 11111111-2222-3333-4444-555555555555 -O none,filetype,sparse_super,large_file

Filesystem label=SSD
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
15104 inodes, 1915064 blocks
0 blocks (0%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
59 block groups
32768 blocks per group, 32768 fragments per group
256 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Normalmente todos os meus arquivos têm tamanho de 100kB (e cerca de 5 arquivos podem ter 400MB). Eu tento ler isso e aquilo . Mas ainda não está claro como calcular aproximadamente bytes por inode? O atual 524288 não é suficiente, por enquanto não consigo criar novos arquivos no sda2 mas ainda tenho muito espaço livre.

PS Informações extras

# df -T
Filesystem           Type       1K-blocks      Used Available Use% Mounted on
/dev/root            ext4          146929     84492     59365  59% /
devtmpfs             devtmpfs      249936         0    249936   0% /dev
tmpfs                tmpfs         250248         0    250248   0% /dev/shm
tmpfs                tmpfs         250248        56    250192   0% /tmp
tmpfs                tmpfs         250248       116    250132   0% /run
/dev/sda2            ext2         7655936    653068   7002868   9% /mnt/sda2

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root               143.5M     82.5M     58.0M  59% /
devtmpfs                244.1M         0    244.1M   0% /dev
tmpfs                   244.4M         0    244.4M   0% /dev/shm
tmpfs                   244.4M     56.0K    244.3M   0% /tmp
tmpfs                   244.4M    116.0K    244.3M   0% /run
/dev/sda2                 7.3G    637.8M      6.7G   9% /mnt/sda2

# fdisk -l
Disk /dev/sda: 7.45 GiB, 8001552384 bytes, 15628032 sectors
Disk model: 8GB ATA Flash Di
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0a19a8af

Device     Boot  Start      End  Sectors  Size Id Type
/dev/sda1          309   307508   307200  150M 83 Linux
/dev/sda2       307512 15628030 15320519  7.3G 83 Linux
filesystems
  • 1 1 respostas
  • 46 Views

1 respostas

  • Voted
  1. Best Answer
    Laszlo Ersek
    2024-05-22T21:24:49+08:002024-05-22T21:24:49+08:00

    Seu espaço livre é de aproximadamente 7.3*1024*1024*1024bytes. Em média, espera-se que o tamanho de um arquivo seja de 100*1024bytes. Isso significa que você tem espaço para aproximadamente

    7.3*1024*1024*1024 / (100*1024) = 7.3*1024*1024/100 ≃ 76,546
    

    arquivos distintos. Isso implica que você precisa exatamente dessa quantidade de inodes.

    A saída mke2fs indica que você possui 15,104inodes atualmente; não é de admirar que você fique sem eles - você precisa de aprox. cinco vezes mais.

    Acredito que você não tenha percebido que a -iopção já especifica diretamente o tamanho médio esperado do arquivo. Você precisa de um inode por arquivo (distinto), portanto, se o tamanho médio do arquivo for 100 KB, um novo inode deverá ser atribuído a cada 100 KB de armazenamento. Basta executar novamente o comando com -i $((100*1024)).

    (Sua opção atual -i 524288informa ao mke2fs que o tamanho normal do arquivo será 512 KB, o que é cca, cinco vezes maior que a realidade - é por isso que você obtém cca, cinco vezes menos inodes do que o necessário.)

    Em resumo, basta ler "bytes por inode" como "bytes por arquivo distinto".

    • 2

relate perguntas

  • Qual sistema de arquivos devo usar em um cartão SD em um NAS?

  • Como saber antecipadamente se um .zip tem um diretório pai dentro

  • Disco alocado dinamicamente do Virtualbox *.vdi continua crescendo

  • du/df e ls relatando diferentes usos de disco

  • Como os desenvolvedores do kernel Linux lidam com seu trabalho com milhões de linhas de código? É um método? [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve