
Na imprensa informal (ou seja, jornalística) de tecnologia e em blogs e fóruns de discussão sobre tecnologia on-line, é comum encontrar conselhos anedóticos para deixar algum espaço livre em unidades de disco rígido ou unidades de estado sólido. São apresentadas várias razões para isso ou, às vezes, nenhuma razão. Como tal, estas afirmações, embora talvez razoáveis na prática, têm um ar mítico. Por exemplo:
-
“Quando seu(s) disco(s) estiver(em) 80% cheio(s), você deve considerá-loscompleto, e você deve imediatamente excluir coisas ou atualizar. Se eles acertarem90%cheio, você deve considerar que suas calças pessoais estão em chamas e reagir com a quantidade adequada de imediatismo para remediar isso. (Fonte.)
-
“Para manter a coleta de lixo com eficiência máxima, o conselho tradicional é manter de 20 a 30 por cento de sua unidade vazia.” (Fonte.)
-
“Disseram-me que deveria deixar cerca de 20% livre em um HD para melhor desempenho, que um HD realmente fica mais lento quando está quase cheio.” (Fonte.)
-
“Você deve deixar espaço para os arquivos de troca e arquivos temporários. Atualmente deixo 33% por cento livres e prometo não obter menos de 10 GB de espaço livre no HDD.” (Fonte.)
-
“Eu diria que normalmente 15%, no entanto, considerando o tamanho dos discos rígidos hoje em dia, contanto que você tenha o suficiente para seus arquivos temporários e arquivos de troca, tecnicamente você está seguro.” (Fonte.)
-
“Eu recomendaria mais 10% no Windows porque a desfragmentação não será executada se não houver tanta quantidade livre na unidade quando você executá-la.” (Fonte.)
-
“Geralmente, você deseja deixar cerca de 10% livre para evitar fragmentação.” (Fonte.)
-
“Se a sua unidade estiver consistentemente mais de 75 ou 80 por cento cheia, vale a pena considerar a atualização para um SSD maior.” (Fonte.)
Houve alguma pesquisa, de preferência publicada em um periódico revisado por pares, sobre a porcentagem ou a quantidade absoluta de espaço livre exigido por combinações específicas de sistemas operacionais, sistemas de arquivos e tecnologia de armazenamento (por exemplo, prato magnético versus estado sólido)? (Idealmente, essa investigação também explicaria a razão para não exceder a quantidade específica de espaço utilizado, por exemplo, para evitar que o sistema fique sem capacidadeespaço de trocaou para evitar perda de desempenho.)
Se você souber de alguma pesquisa desse tipo, ficaria grato se pudesse responder com um link para ela, além de um breve resumo das descobertas. Obrigado!
Responder1
Houve alguma pesquisa, de preferência publicada em periódico revisado por pares […]?
É preciso recuar muito mais de 20 anos, de administração de sistemas ou não, para isso. Este era um tema quente, pelo menos no mundo dos sistemas operacionais de computadores pessoais e estações de trabalho, há mais de 30 anos; a época em que o pessoal do BSD estava desenvolvendo o Berkeley Fast File System e a Microsoft e a IBM estavam desenvolvendo o High Performance File System.
A literatura de seus criadores sobre ambos discute as maneiras como esses sistemas de arquivos foram organizados para que opolítica de alocação de blocosobteve melhor desempenho ao tentar tornar contíguos blocos de arquivos consecutivos. Você pode encontrar discussões sobre isso e sobre o fato de que a quantidade e a localização do espaço livre deixado para alocar os blocos afetam a colocação dos blocos e, portanto, o desempenho, nos artigos contemporâneos sobre o assunto.
Deveria ser bastante óbvio, por exemplo, a partir da descrição do algoritmo de alocação de blocos do Berkeley FFS que, se não houver espaço livre no grupo de cilindros atual e secundário e o algoritmo atingir o quarto nível de fallback ("aplicar um método exaustivo pesquisa em todos os grupos de cilindros"), o desempenho da alocação de blocos de disco será prejudicado, assim como a fragmentação do arquivo (e, portanto, o desempenho de leitura).
São essas e análises semelhantes (estas estão longe de ser os únicos projetos de sistemas de arquivos que visavam melhorar as políticas de layout dos projetos de sistemas de arquivos da época) que a sabedoria recebida dos últimos 30 anos se baseou.
Por exemplo: A afirmação no artigo original de que os volumes FFS devem ser mantidos menos de 90% cheios, para que o desempenho não seja prejudicado, que foi baseada em experimentos feitos pelos criadores, pode ser encontrada repetida sem crítica, mesmo em livros sobre sistemas de arquivos Unix publicados neste século (por exemplo, , Pate2003 p. 216) . Poucas pessoas questionam isto, embora Amir H. Majidimehr realmente o tenha feito no século anterior, dizendo que xe não observou na prática um efeito perceptível; principalmente por causa do mecanismo Unix habitual que reserva os 10% finais para uso de superusuários, o que significa que um disco 90% cheio é efetivamente 100% cheio para não-superusuáriosde qualquer forma (Majidimehr1996 p. 68) . O mesmo fez Bill Calkins, que sugere que, na prática, é possível preencher até 99%, com tamanhos de disco do século 21, antes de observar os efeitos de desempenho do baixo espaço livre, porque mesmo 1% dos discos de tamanho moderno é suficiente para ter muito espaço livre não fragmentado. ainda para brincar (Calkins2002 p. 450) .
Este último é um exemplo de como a sabedoria recebida pode tornar-se errada. Existem outros exemplos disso. Assim como os mundos SCSI e ATA deendereçamento de bloco lógicoegravação de bits zoneadaem vez disso, jogou pela janela todos os cálculos cuidadosos delatência rotacionalno design do sistema de arquivos BSD, então a mecânica física dos SSDs joga pela janela o espaço livre recebido pela sabedoria que se aplica aos discos Winchester.
Com SSDs, a quantidade de espaço livreno dispositivo como um todo, ou seja, em todos os volumes do discoe entre eles, tem efeito tanto no desempenho quanto na vida útil. E a própria base para a ideia de que um arquivo precisa ser armazenado em blocos com endereços de blocos lógicos contíguos é prejudicada pelo fato de que os SSDs não possuem pratos para girar e cabeças para procurar. As regras mudam novamente.
Com SSDs, a quantidade mínima recomendada de espaço livre é, na verdade,maisdo que os tradicionais 10% provenientes de experimentos com discos Winchester e Berkeley FFS há 33 anos. Anand Lal Shimpi dá 25%, por exemplo. Esta diferença é agravada pelo fato de que este tem que ser espaço livreem todo o dispositivo, enquanto o valor de 10% édentro de cada volume FFSe, portanto, é afetado pelo fato de o programa de particionamento saber TRIM todo o espaço que não está alocado para um volume de disco válido pela tabela de partição.
Também é agravado por complexidades, como drivers de sistema de arquivos compatíveis com TRIM, que podem liberar espaço pelo TRIM.dentro devolumes de disco e o fato de que os próprios fabricantes de SSD tambémjáalocar vários graus deespaço reservadoisso nem sequer é visível fora do dispositivo (ou seja, para o host) para vários usos, como coleta de lixo e nivelamento de desgaste.
Bibliografia
- Marshall K. McKusick, William N. Joy, Samuel J. Leffler e Robert S. Fabry (1984-08). Um sistema de arquivos rápido para UNIX. Transações ACM em sistemas de computador. Volume 2, edição 3. pp.181–197. Arquivado em cornell.edu.
- Ray Duncan (1989-09).Objetivos de design e implementação do novo sistema de arquivos de alto desempenho. Diário de Sistemas Microsoft. Volume 4, edição 5. pp. Arquivado em wisc.edu.
- Marshall Kirk McKusick, Keith Bostic, Michael J. Karels e John S. Quarterman (30/04/1996). "O sistema de arquivos rápido de Berkeley".O Projeto e Implementação do Sistema Operacional BSD 4.4. Addison-Wesley Profissional. ISBN 0201549794.
- Dan Pontes (1996-05).Por Dentro do Sistema de Arquivos de Alto Desempenho — Parte 4: Fragmentação, Bitmaps de Espaço em Disco e Páginas de Código. Bits significativos. Arquivado em Electronic Developer Magazine para OS/2.
- Keith A. Smith e Margo Seltzer (1996). Uma comparação das políticas de alocação de disco FFS. Anais da Conferência Técnica Anual USENIX.
- Steve D. Pate (2003). “Análise de desempenho do FFS”. Sistemas de arquivos UNIX: evolução, design e implementação. Amplificador John Wiley; Filhos. ISBN 9780471456759.
- Amir H. Majidimehr (1996).Otimizando UNIX para desempenho. Salão Prentice. ISBN 9780131115514.
- Bill Calkins (2002). "Gerenciando Sistemas de Arquivos". Por dentro do Solaris 9. Que Publicação. ISBN 9780735711013.
- Anand Lal Shimpi (04/10/2012).Explorando a relação entre área sobressalente e consistência de desempenho em SSDs modernos. AnandTech.
- Henry Cook, Jonathan Ellithorpe, Laura Keys e Andrew Waterman (2010).IotaFS: explorando otimizações de sistema de arquivos para SSDs. Transações IEEE em Eletrônicos de Consumo. Arquivado em stanford.edu.
- https://superuser.com/a/1081730/38062
- Accela Zhao (10/04/2017).Um resumo sobre SSD e FTL. github.io.
- O Windows corta o espaço não particionado (não formatado) em um SSD?
Responder2
Embora eu não possa falar sobre "pesquisa" sendo publicada por "jornais revisados por pares" - e eu não gostaria de ter que depender deles para o trabalho diário - posso falar sobre a realidade de centenas de publicações servidores sob uma variedade de sistemas operacionais ao longo de muitos anos:
Existem três razões pelas quais um disco cheio reduz o desempenho:
- Falta de espaço livre: pense em arquivos temporários, atualizações, etc.
- Degradação do sistema de arquivos: a maioria dos sistemas de arquivos sofre em sua capacidade de organizar os arquivos de maneira ideal se não houver espaço suficiente
- Degradação do nível de hardware: SSDs e discos SMR sem espaço livre suficiente apresentarão diminuição do rendimento e - pior ainda - aumento da latência (às vezes em muitas ordens de magnitude)
O primeiro ponto é trivial, especialmente porque nenhum sistema de produção sensato jamais usaria espaço de troca para expandir e reduzir arquivos dinamicamente.
O segundo ponto difere muito entre sistemas de arquivos e carga de trabalho. Para um sistema Windows com carga de trabalho mista, um limite de 70% acaba sendo bastante utilizável. Para um sistema de arquivos ext4 Linux com poucos, mas grandes arquivos (por exemplo, sistemas de transmissão de vídeo), isso pode chegar a mais de 90%.
O terceiro ponto depende do hardware e do firmware, mas especialmente os SSDs com um controlador Sandforce podem recorrer ao apagamento de blocos livres em cargas de trabalho de alta gravação, fazendo com que as latências de gravação aumentem em milhares de por cento. Normalmente deixamos 25% livres no nível da partição e observamos uma taxa de preenchimento abaixo de 80%.
Recomendações
Eu percebo que mencioneicomocertifique-se de que uma taxa máxima de preenchimento seja aplicada. Alguns pensamentos aleatórios, nenhum deles "revisado por pares" (pago, falso ou real), mas todos provenientes de sistemas de produção.
- Use limites do sistema de arquivos:
/var
não pertence ao sistema de arquivos raiz. - Monitoramento, monitoramento, monitoramento. Use uma solução pronta se for adequada para você; caso contrário, analise a saída de
df -h
e solte os alarmes, caso contrário. Isso pode evitar 30 kernels em um sistema raiz com atualizações automáticas instaladas e em execução sem a opção autoremove. - Pese a interrupção potencial de um estouro de fs em relação ao custo de torná-lo maior: se você não estiver em um dispositivo incorporado, poderá simplesmente dobrar o 4G para root.
Responder3
Houve alguma pesquisa... sobre a porcentagem ou a quantidade absoluta de espaço livre exigido por combinações específicas de sistemas operacionais, sistemas de arquivos e tecnologia de armazenamento...?
Em 20 anos de administração de sistemas, nunca encontrei pesquisas detalhando os requisitos de espaço livre de diversas configurações. Suspeito que isso ocorre porque os computadores são configurados de maneira tão variada que seria difícil fazê-lo devido ao grande número de configurações de sistema possíveis.
Para determinar quanto espaço livre um sistema requer, é preciso levar em conta duas variáveis:
O espaço mínimo necessário para evitar comportamentos indesejados,que por si só pode ter uma definição fluida.
Observe que não é útil definir o espaço livre necessário apenas com base nesta definição, pois isso equivale a dizer que é seguro dirigir a 130 km/h em direção a uma parede de tijolos até o ponto exato em que você colide com ela.
A taxa na qual o armazenamento é consumido,o que determina que uma quantidade variável adicional de espaço seja reservada, para que o sistema não se degrade antes que o administrador tenha tempo de reagir.
A combinação específica de sistema operacional, sistemas de arquivos, arquitetura de armazenamento subjacente, juntamente com o comportamento do aplicativo, configuração de memória virtual, etc. cria um grande desafio para quem deseja fornecer requisitos definitivos de espaço livre.
É por isso que existem tantos conselhos por aí. Você notará que muitos deles fazem recomendações sobre uma configuração específica. Por exemplo, “Se você tiver um SSD sujeito a problemas de desempenho ao atingir a capacidade máxima, mantenha acima de 20% de espaço livre”.
Como não existe uma resposta simples para esta pergunta, a abordagem correta para identificarseuO requisito mínimo de espaço livre do sistema é considerar as diversas recomendações genéricas à luz da configuração específica do seu sistema e, em seguida, definir um limite, monitorá-lo e estar disposto a ajustá-lo conforme necessário.
Ou você pode manter pelo menos 20% de espaço livre.A menos, é claro, que você tenha um volume RAID 6 de 42 TB apoiado por uma combinação de SSDs e discos rígidos tradicionais e um arquivo de troca pré-alocado... (isso é uma piada para quem é sério).
Responder4
Para SSDs, deve sobrar algum espaço porque a taxa de reescrita aumenta e afeta negativamente o desempenho de gravação do disco. O valor de 80% cheio é provavelmente seguro para todos os discos SSD; alguns modelos mais recentes podem funcionar bem mesmo com 90-95% da capacidade ocupada.
https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/