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 / computer / Perguntas / 1485083
Accepted
Kagaratsch
Kagaratsch
Asked: 2019-09-23 06:05:43 +0800 CST2019-09-23 06:05:43 +0800 CST 2019-09-23 06:05:43 +0800 CST

O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar?

  • 772

Trabalho com dezenas de milhares de arquivos JPEG de 20 kB em lotes que somam gigabytes. Quando tento excluir um lote antigo, o Windows 10 tem uma taxa de exclusão muito baixa, que às vezes até cai para zero por algum motivo:

Digite a descrição da imagem aqui

Isso é apenas um fato da vida do hardware em que estou ou há algumas dicas e truques que eu poderia tentar para acelerar esse processo de exclusão?

windows-10 file-management
  • 11 11 respostas
  • 65901 Views

11 respostas

  • Voted
  1. Best Answer
    harrymc
    2019-09-23T08:38:39+08:002019-09-23T08:38:39+08:00

    Pela imagem, parece que você está excluindo os arquivos pelo Explorer, que é o método mais lento possível.

    O que você pode fazer para melhorar:

    • Exclua os arquivos usando Shift+ Delpara que os arquivos excluídos não sejam movidos para a Lixeira (sem recuperação possível)

    • Emita a exclusão de dentro de um prompt de comando usando um comando semelhante a (use del /?para ver todos os parâmetros):

        del /f /q *.*           (del in current folder, add `/s` to traverse sub-folders)
        del /f /q /s folder
      
    • 101
  2. benrg
    2019-09-23T21:17:53+08:002019-09-23T21:17:53+08:00

    Não sei por que o Explorer é tão lento, mas você pode considerar colocar cada lote de imagens em um volume de sistema de arquivos separado e formatar rapidamente o volume para excluí-los. O Windows 10 tem suporte nativo para montar arquivos como volumes de disco . A velocidade da reformatação é independente do que está no volume, pois ignora o sistema de arquivos existente e apenas grava um novo.

    Dezenas de milhares de arquivos de 20K não parecem muitos gigabytes. Se o tamanho total de todos os lotes ativos for menor que sua RAM física, você também pode colocá-los em discos RAM (usando, por exemplo, ImDisk ), ainda formatando ou desmontando o volume para excluí-los. Mesmo a exclusão recursiva comum no disco RAM pode ser muito mais rápida, dependendo do que está causando a lentidão. Obviamente, isso não é uma opção se você precisar que os arquivos sobrevivam a uma reinicialização.

    Uma desvantagem de reformatar para excluir é que você precisa ser um administrador elevado. Outra é que você pode acidentalmente formatar o volume errado, mas realmente qualquer abordagem para exclusão em massa de arquivos corre o risco de excluir os errados. Se você der aos volumes rótulos descritivos TempJpeg1, formatá-los provavelmente é tão à prova de erros quanto excluir um diretório enorme da linha de comando.

    • 31
  3. Bob
    2019-09-24T00:10:30+08:002019-09-24T00:10:30+08:00

    Desative qualquer proteção antivírus/antimalware em tempo real que você tenha, pelo menos durante esta operação. Isso inclui o Windows Defender. Também qualquer proteção anti-ransomware (como oferecido por alguns programas de backup).

    A proteção em tempo real geralmente possui ganchos nas operações de arquivo e é historicamente conhecida por desacelerar drasticamente qualquer operação que envolva um grande número de arquivos.

    Se você sentir necessidade, poderá reativá-los após a conclusão da exclusão.

    • 28
  4. Chris
    2019-09-24T09:16:29+08:002019-09-24T09:16:29+08:00

    Executar isso como um comando será muito mais rápido. Iniciar cmde executar

    RD frames /S /Q
    

    Isso removerá a pasta e todos os seus arquivos e subdiretórios nela, sem espalhar a tela com cada nome de arquivo que está excluindo.

    RD = remove directory
    /S = subdirectories included
    /Q = quiet mode
    
    • 14
  5. RobK
    2019-09-24T03:19:25+08:002019-09-24T03:19:25+08:00

    Crie uma partição por lote, digamos 10 GB ou mais, quando terminar com um determinado lote, formate rapidamente a partição. Todos os arquivos desapareceram em questão de segundos.

    • 8
  6. BenYork
    2019-09-24T11:26:40+08:002019-09-24T11:26:40+08:00

    Lidando com perfis de roaming, já vi isso bastante. Na minha experiência, enviar qualquer tipo de comando de exclusão não é tão rápido quanto usar Robocopy para /MIR uma pasta vazia para o destino. Não tenho nenhum dado bruto ou métrica real que seja mais rápido do que qualquer uma das opções já mencionadas, mas é consideravelmente mais rápido do que usar o shell do Explorer.

    Basta criar um novo diretório vazio ou fazer referência a um diretório vazio atual e executar o seguinte comando:

    robocopy x:\path\to\emptyfolder x:\path\to\delete /MIR /R:1 /W:1 /MT:128 /LOG:x:\path\to\logfile.log
    

    /MIR :: MIRror a directory tree (equivalent to /E plus /PURGE). 
    /R:1 :: number of Retries on failed copies: default 1 million.
    /W:1 :: Wait time between retries: default is 30 seconds. 
    /MT:128 :: Do multi-threaded copies with n threads (default 8).
                   n must be at least 1 and not greater than 128.
                   This option is incompatible with the /IPG and /EFSRAW options.
                   Redirect output using /LOG option for better performance.
    

    Você vai querer LOG ao usar MT, definitivamente há um atraso mensurável ao exibir a saída na tela.

    Usando /MT:128 como uma opção, ele irá maximizar a quantidade de arquivos que pode 'excluir' de uma só vez.

    Observe também que, se esta for sua primeira vez com o Robocopy, você deve fazer uma simulação com o sinalizador /L:

    /L :: List only - don't copy, timestamp or delete any files.
    

    Em seguida, verifique os logs e certifique-se de que as ações correspondam ao que você deseja.

    Referências:

    • Robocopy da Microsoft: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
    • Robocopy de ss64: https://ss64.com/nt/robocopy.html
    • 6
  7. Blerg
    2019-09-24T08:17:54+08:002019-09-24T08:17:54+08:00

    Para adicionar às respostas fornecidas, o motivo pelo qual as operações de exclusão demoram tanto é devido ao tipo de disco rígido que você está usando. Em um de seus comentários, você afirma que está usando um disco rígido mecânico e a quantidade de IOPS que eles podem executar é muito pequena em comparação com os SSDs. A Wikipedia tem uma lista da quantidade aproximada de IOPS que as unidades mecânicas e de estado sólido podem executar em seu site .

    O que basicamente está acontecendo é que o sistema operacional está informando ao disco rígido para apagar os metadados do arquivo na tabela de partição, o que o remove da visualização (ainda está lá, mas o sistema operacional não sabe mais como acessá-lo). É basicamente uma gravação muito pequena no disco rígido (está gravando 0s nele), então é um IOP rápido, que pode fazer muito mais do que o que está listado no Wiki, já que o Wiki está listando gravações aleatórias e contínuas.

    O que você deve ter em mente agora é que o Explorer tenta jogar bem com tudo o mais em execução no sistema enquanto está excluindo, o que pode ser lento. O delcomando, por outro lado, não tenta ser legal e exclui o mais rápido possível.

    A atualização para um SSD ajudaria no seu trabalho, pois o IOPS normalmente é medido em milhares e as unidades mecânicas são medidas em centenas. Você também pode tentar usar uma unidade flash para ver se isso ajuda; no entanto, seus resultados seriam altamente dependentes da unidade que você usa. Se você tiver RAM (e não se importar com o risco de perder as imagens), poderá criar uma unidade de RAM e usá-la. Eu pessoalmente uso o ImDisk Virtual Disk Driver , (sem afiliação), com grande sucesso e é gratuito.

    • 4
  8. Woric
    2019-09-24T08:37:02+08:002019-09-24T08:37:02+08:00

    Eu tive exatamente esse problema com alguns testes automatizados que criaram e excluíram milhares de arquivos para cada execução de teste.

    Aqui está o que eu fiz para obter um bom desempenho.

    1. Sempre exclua a pasta inteira e evite a lixeira. Se você estiver fazendo isso manualmente, use a linha de comando.

    2. Você pode converter parte da sua memória em uma unidade de RAM? Comprei RAM extra e funcionou perfeitamente porque os arquivos deveriam ser excluídos como parte do meu teste. (Uma solução melhor são as unidades RAM dedicadas com bateria, mas elas são muito caras.)

    3. A gravação em unidades SSD de 1ª e 2ª geração fica mais lenta com o tempo e elas eventualmente se tornam inutilizáveis. A execução de um "comando Trim" de baixo nível corrige isso, embora nem todas as combinações de SO/Hardware suportem o Trim. Eventualmente, precisei comprar novos SSDs porque o meu havia sido reescrito muitas vezes. (Obviamente, meu teste estava matando minhas unidades SSD baratas. Levei um tempo para descobrir isso.)

    4. Se você estiver usando um HDD, desfragmente a unidade regularmente.

    Boa sorte. Levei muitos meses e alguns SSDs, seguidos de RAM extra, para encontrar uma estratégia que funcionasse para mim, então sinto sua dor.

    • 3
  9. Michał Leon
    2019-09-27T09:10:09+08:002019-09-27T09:10:09+08:00

    Além das outras ótimas respostas, gostaria de compartilhar alguns truques com você:

    • excluir todos os arquivos em uma pasta:del *.*
    • atalho: o mesmo que acima, menos digitação: del..

    Agora facilite sua vida:

    • exclua vários arquivos sem ter que responder à pergunta "tem certeza":echo Y | del.
    • 2
  10. Broly LSSJ
    2019-09-23T07:00:38+08:002019-09-23T07:00:38+08:00

    A exclusão de muitas entradas de diretório levará mais tempo do que a exclusão de um único diretório do tamanho da rede. Ao excluir muitos arquivos, são necessários muitos comandos em vez de um único quando um único arquivo é excluído.

    Agora, quando um arquivo grande é excluído, o mapeador de arquivos é instruído a desalocar a memória desse arquivo grande, mas os 1s e 0s do arquivo não são redefinidos. O mapeador é apenas informado de que é livre para escrever coisas novas sobre os antigos 1s e 0s. Basicamente, é um comando que leva tempo para limpar todas as alocações de memória do arquivo fragmentado. Quando você exclui um milhão de arquivos pequenos, está enviando um milhão de comandos para o mapeador, que deve fazer um de cada vez.

    Portanto, a solução é usar um software para limpar uma unidade de arquivos excluídos e os 1s e 0s deixados para trás. Levará um único comando para limpar o espaço. Use o software somente se achar que os arquivos não precisam ser recuperados posteriormente.

    • 1

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

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

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

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