Estou instalando algumas distribuições linux em um cartão SD do meu MacBook, embora elas levem mais de uma hora para transferir algumas centenas de MB (usando dd
e /dev/disk1
).
Se você observar a saída acima, ela está funcionando a aproximadamente 0,31 MB / s! O cartão SD é da classe 10 e meu MacBook Pro é o Intel Core 2 Duo de 2,66 GHz, 4 GB de 1067 MHz DDR3 e OS X Lion 10.7.4. Aqui está o relatório de hardware para o leitor de cartão:
Leitor de cartão SD incorporado:
ID do fornecedor: 0x05ac
ID do produto: 0x8403
Revisão: 1,00 Número de série: 9833Cartão SDHC:
Capacidade: 7,97 GB (7.969.177.600 bytes)
Mídia removível: Sim Nome BSD: disk1
Tipo de mapa de partição: MBR (registro mestre de inicialização)
Status SMART: não suportado
Volumes:PI:
Capacidade: 7,96 GB (7,964,983,296 bytes)
Sistema de arquivos:
Nome BSD do MS-DOS : disk1s1
Conteúdo: DOS_FAT_32
Alguma idéia de por que a transferência /dev/disk1
é tão lenta e como eu poderia acelerar?
fonte
Respostas:
Acabei de encontrar o mesmo problema e parece ser
/dev/disk*
lento porque está em buffer. Se você usar o dispositivo rdisk correspondente (ex:),/dev/rdisk1s1
deverá obter a velocidade esperada. Aparentemente, isso é coisa do BSD.Exemplo:
Ref:
Nota sobre o acesso à entrada do desenvolvedor
Postar na lista de e-mails da Apple
fonte
Pode ser que o cartão SD esteja tão lento.
Dê uma olhada neste benchmark (gravação aleatória, 4 KB (QD = 1) [MB / s]) e você verá que a maioria dos cartões SD tem um desempenho ruim de gravação (abaixo de 100 kB / s) para arquivos pequenos - e um A instalação típica do Linux consiste em muitos arquivos pequenos gravados no disco.
O leitor de cartão interno deve ser capaz de ler / gravar pelo menos 20 MB / s - é muito improvável que outro leitor de cartão melhore sua experiência com esse mesmo cartão SD.
Depois que todos os arquivos forem gravados, ou seja, o sistema estiver instalado, você poderá executar o Linux a partir do cartão SD em uma velocidade aceitável - como é o acesso de leitura.
fonte
Se a placa estiver montada com a opção de sincronização, isso significa que todo fechamento de arquivo faz com que a gravação seja liberada no disco e, portanto, seu desempenho em arquivos pequenos será terrível quando comparado com arquivos grandes. Se você remover a sincronização das opções de montagem, não há garantia de que a gravação de um arquivo faça com que ele saia para o disco - é necessário chamar manualmente a sincronização na linha de comando ou desmontar o dispositivo antes de removê-lo ou desligar. No entanto, sem sincronização, você verá pequenos arquivos melhorarem drasticamente o desempenho da gravação.
fonte
man mount
, async já é o padrão.Não, isso é claramente um problema no Mac OS. Eu obtenho desempenho significativamente mais rápido quando faço essa mesma operação usando o Linux em uma máquina virtual em execução no mesmo Macintosh. Ou seja, a VM é cerca de 5x mais rápida que o SO nativo.
fonte