Por que não há partições de swap em unidades SSD?

88

Costumo ler que não se deve colocar partições de swap em uma unidade SSD, pois isso pode danificar o dispositivo. Isso é verdade? Você pode me explicar o motivo?

Porque, caso contrário, eu pensaria que colocar swap em um SSD é a melhor escolha, pois é muito mais rápido que os HDDs e, portanto, trocar o conteúdo da RAM para o SSD não é tão lento quanto seria com o HDD ...

Byte Commander
fonte

Respostas:

85

As células Flash RAM nos SSDs têm uma vida útil limitada. Todo ciclo de gravação (mas não a leitura) (ou com mais precisão cada apagamento) usa uma célula de memória e, em algum momento, ele pára de funcionar.

A quantidade de ciclos de apagamento que uma célula pode sobreviver é altamente variável, e o flash dos SSDs modernos sobreviverá muito mais do que o flash dos SSDs fabricados há vários anos. Além disso, o firmware inteligente do SSD garantirá apagamentos uniformemente distribuídos entre todas as células. Na maioria das unidades, áreas não utilizadas também estarão disponíveis para fazer backup de células danificadas e retardar o envelhecimento.

Para ter um valor que podemos usar para comparar a resistência de um SSD, podemos usar medidas de tempo de vida, como os padrões publicados pela JEDEC . Um valor amplamente disponíveis para a resistência é TBW ( T era B ytes W Ritten, ou alternativamente total de bytes escrito ), que é a quantidade de gravável bytes antes da unidade falhar. Os SSDs modernos podem pontuar tão baixo quanto 20 TB para um produto de consumo, mas podem pontuar mais de 20.000 TB em um SSD de nível empresarial.

Dito isto, tanto a vida útil quanto o uso de um SSD para troca depende de vários fatores ...

Sistemas com bastante RAM

Em um sistema com bastante RAM e poucos aplicativos que consomem memória, quase nunca trocaremos. É apenas uma medida de segurança para evitar a perda de dados, caso um aplicativo consuma toda a nossa RAM. Nesse caso, o uso de um SSD da troca não será um problema. No entanto, ter essa partição de swap geralmente não usada em um disco rígido convencional não levará a uma queda no desempenho, para que possamos colocar com segurança nossa partição (ou arquivo) de swap nesse disco rígido significativamente mais barato e usar o espaço em nosso SSD para algo mais útil.

Sistemas com pouca RAM

As coisas são diferentes em um sistema em que a RAM é escassa e não pode ser atualizada. Nesse caso, a troca pode realmente ocorrer com mais frequência, especialmente quando executamos aplicativos com uso intenso de memória. Nesses sistemas, uma partição ou arquivo de troca em um SSD pode levar a uma melhoria drástica no desempenho, com o custo de uma vida útil do SSD um pouco menor. Essa vida útil reduzida pode, no entanto, ainda não ser curta o suficiente para justificar preocupação. Com toda a probabilidade, o SSD pode ser substituído muito antes de sua morte, pois várias vezes o armazenamento pode estar disponível a uma fração dos preços atuais.

Hibernando nosso sistema

Acordar da hibernação é realmente muito rápido de um SSD. Se tivermos sorte e nosso sistema sobreviver a uma hibernação sem problemas, podemos considerar o uso de um SSD para isso. Ele usará o SSD mais do que apenas inicializaria, mas podemos sentir que vale a pena.

Mas a inicialização a partir de um SSD pode não demorar muito mais do que acordar da hibernação de um SSD, e o desgastará muito menos. Pessoalmente, eu não hiberno meu sistema - suspendo a RAM ou inicializo rapidamente a partir do meu SSD.

O SSD é a única unidade que temos

Realmente não temos escolha neste caso. Não queremos rodar sem uma troca, por isso temos que colocá-lo no SSD. No entanto, podemos querer ter um arquivo ou partição de troca menor se não planejarmos hibernar nosso sistema a qualquer momento.

Nota sobre velocidade

Os SSDs são melhores em acessar e ler rapidamente muitos arquivos pequenos e são superiores aos discos rígidos convencionais para transferir dados de arquivos pequenos ou médios de leitura sequencial. Um disco rígido convencional rápido ainda pode ter um desempenho melhor do que um SSD ao gravar (e em menor medida ler) grandes fluxos de áudio ou vídeo ou outros arquivos longos e não fragmentados. Os SSDs mais antigos podem ter seu desempenho diminuído ao longo do tempo ou depois que estiverem razoavelmente cheios.

Takkat
fonte
2
Portanto, podemos concluir que devemos usar SSDs preferencialmente para armazenar dados que, idealmente, são gravados uma vez (raramente) e precisam ser lidos com bastante frequência. Como os arquivos do sistema, arquivos de programa ou diretórios de dados da pasta pessoal (músicas, vídeos, ...). Existe um número aproximado de quantos ciclos de gravação / apagamento uma célula SSD média moderna deve sobreviver? 1000? 10000? E sim, entendi que o controlador tenta distribuir o uso igualmente entre todas as células para aumentar a vida útil.
Byte Commander
@ByteCommander Veja a edição para mais alguns pontos sobre o seu comentário.
Takkat 25/07/2015
Eu acho que a nota sobre velocidade é enganosa - os SSDs superam os discos rígidos - os discos mais rápidos (SAS, 15000 rpm) fornecem uma velocidade de acesso seqential de cerca de 250MB / s, enquanto um SSD fornece quase o dobro disso (e um disco rígido comum empalidece em comparação em cerca de 110 MB / seg - SSD irá superar discos rígidos em leituras seqüenciais, a questão é de custo.
davidgo
@ Davididgo, é verdade que, em geral, um SSD terá um desempenho muito melhor do que um disco rígido, especialmente se o SSD for novo. No entanto, existem relatórios sobre quedas de desempenho bastante significativas, não apenas de um SSD antigo, mas também de leitura sequencial em um período maior (como streaming de vídeo). Veja, por exemplo, este post no SU e uma explicação detalhada da Seagate . Portanto, não devemos confiar nos grandes valores iniciais para durar para sempre.
Takkat 18/11/2016
1
Postagem interessante da Seagate, no entanto, isso foi escrito por volta de 2010 - e os SSDs percorreram um longo caminho entre então e 2015 - principalmente no que diz respeito à coleta de lixo em segundo plano e ao nivelamento de desgaste - que alteram drasticamente a paisagem - consulte techreport.com/review/27909/… desde 2013. Além disso, em 2010, as placas controladoras ssd eram muito mais complicadas.
davidgo 18/11/16
18

Os SSDs antigos tinham reputação de falhar após menos gravações do que os HDDs. Se a troca foi usada com frequência, o SSD poderá falhar mais cedo. Pode ser por isso que você ouviu que poderia ser ruim usar um SSD para troca.

Os SSDs modernos não têm esse problema e não devem falhar mais rápido que um HDD comparável. A colocação de swap em um SSD resultará em melhor desempenho do que em um HDD devido às suas velocidades mais rápidas.

Além disso, se o seu sistema tiver RAM suficiente (provavelmente, se o sistema for high-end o suficiente para ter um SSD), a troca poderá ser usada apenas raramente de qualquer maneira.

mablem8
fonte
2
Fico tentado a acreditar nisso, mas quero esperar por mais reações e também gostaria de receber referências como prova. Aceitarei uma resposta quando houver prova válida ou uma maioria clara por um ponto.
Byte Commander
1
Embora não seja estatisticamente válido por toda a vida útil do seu SSD. Teste de vida da SSD 2015 final techreport.com/review/27909/… Mostra que a vida é muito longa, mesmo para as que falharam primeiro. Os discos rígidos falham dentro de um ano, mas isso não é normal. Meu sistema de 4 GB de RAM quase nunca usava swap de qualquer maneira.
22815 oldfred
1
Minha pergunta aqui é: Se eu tenho um SSD E uma boa quantidade de memória RAM, devo tentar manter meu (s) aplicativo (s) dentro da RAM, como nos velhos dias do HDD, ou posso deixá-lo rodar livremente com o SSD. Parece que ainda vale a pena, mas talvez não.
jerclarke
9

A tecnologia HDD utiliza um processo magnético para manipulação e armazenamento de dados. Esse processo não é invasivo, o que significa que você pode praticamente manipular dados em uma unidade de disco infinitamente. Isso é até a mecânica começar a falhar. Em contraste, a tecnologia SSD não corre o risco de falha mecânica. Mas o que é uma preocupação é como ele armazena seus dados. Para armazenamento de dados, os SSDs usam rajadas controladas de energia elétrica. Os semicondutores atingidos por essa corrente elétrica se desgastam lentamente do processo à medida que são usados ​​ao longo do tempo.

Esse processo foi aprimorado por meio de atualizações de software e hardware. Os primeiros adaptadores descobriram que os SOs não estavam programados para armazenar dados corretamente da maneira que um SSD. Isso prejudicou o SSD por grandes quantidades de ciclos de leitura / gravação. Além disso, a maioria dos BIOSs antigos não reconhece adequadamente um SSD e isso também causou problemas.

A introdução das atualizações do UEFI e do sistema operacional corrigiu a maioria dos problemas que os proprietários anteriores de SSD tinham. Além disso, como em qualquer processo de produção, os próprios SSDs melhoraram no gerenciamento e manutenção da degradação das unidades flash NAND.

No entanto, ainda é uma preocupação que o seu SSD tenha uma quantidade limitada de ciclos de leitura / gravação antes de não poder mais armazenar dados. Embora, essa preocupação seja tão marginal quanto seu HDD falhar.

Há um podcast muito detalhado sobre o assunto aqui, se você quiser ler mais sobre o assunto.

Arkanoid
fonte
lendo nas entrelinhas, um sistema mais antigo biose não uefipode, então, não interagir com a ssdmesma eficiência com o uefisistema baseado em um mais novo ?
Thufir
7

Mesmo se você tiver RAM suficiente, você ainda pode impedir qualquer cópia ou pesquisa de arquivo para trocar os aplicativos da RAM. Pode ser o caso de servidores de arquivos (NAS, SAMBA, FTP) que podem estar envolvidos em operações de arquivos grandes.

Para fazer isso, é melhor definir /etc/sysctl.conf: vm.swappiness=1 vm.vfs_cache_pressure=50

A primeira configuração evita que o cache do disco (por exemplo, cpem execução) troque os aplicativos existentes da RAM. A configuração padrão normal é 60. Observe que o uso de 0, embora mais agressivo, às vezes foi relatado para gerar erros de falta de memória.

A segunda configuração impede que pesquisas de arquivo (por exemplo, fazendo find) troquem os aplicativos existentes da RAM. A configuração padrão normal para isso é 100.

Embora o autor mencionado na referência não se refira explicitamente aos SSDs, essa abordagem também reduz o desgaste do SSD devido à troca reduzida e também fornece exemplos de como testá-lo.

Referência: https://rudd-o.com/linux-and-free-software/tales-from-responsivenessland-why-linux-feels-slow-and-how-to-fix-that

Dorian B.
fonte
3

Vida versus equilíbrio de desempenho.

Você comprou um SSD por suas vantagens de desempenho e não simplesmente por aumentar a duração da bateria, certo? Portanto, use seu SSD para esse fim, para tornar seu sistema mais rápido.

Se você puder adicionar mais RAM para reduzir * troca de E / S, isso aumentará claramente a vida útil do seu SSD, pois outro problema de desempenho é obviamente o ciclo de E / S para trocar espaço em um sistema de arquivos.

Novamente, como muitos aspectos da configuração do sistema, muitas vezes não se resume a uma única adoção de regra que serve para todos. As necessidades do usuário diferem e, como tais requisitos do sistema e, portanto, a configuração deve diferir para atender a essas necessidades, basta resumir a forma como você configura o sistema.

Se você tiver espaço para armazenar um SSD, além de sua unidade SSD nenhuma, escreva arquivos que raramente serão alterados para sua unidade SSD nenhuma e mantenha os arquivos acessados ​​com frequência na sua unidade SSD.
Isso garantirá que ...

[1] - Os recursos * trim terão os recursos para executar as etapas necessárias para usar uniformemente toda a unidade. [Benefício = Vida]

[2] - Sua latência de E / S será reduzida com o dispositivo SSD de alta velocidade sendo usado para acessar um sistema de arquivos frequentemente acessado. [Benefício = Desempenho]

C onfigure seu sistema de arquivos temporário para utilizar o espaço quando necessário para as suas necessidades de sistemas específicos, se você tiver RAM suficiente, então considerar a criação do seu nível swappiness a ser menos agressivo, isso irá garantir que ...

[1] - A E / S SSD é reduzida, mas seu sistema ainda atenderá às demandas de seus usuários. [Benefício = Vida]

D o que você realmente precisa tudo fora desses logs? Considere o que seu sistema está registrando e onde.

[1] - A E / S SSD é reduzida à medida que o acesso ao arquivo de log é reduzido. [Benefício = Vida e desempenho]

Há muitos outros aspectos na configuração do sistema que podem fazer com que um sistema SSD nenhum tenha um desempenho mais rápido; as compilações padrão do sistema têm uma métrica difícil de cumprir, desempenho puro ou manter os dados seguros e protegidos ou uma mistura equilibrada de todos eles. Se você aplicar a mesma mentalidade ao que escreve e a qual dispositivo, poderá aumentar drasticamente o desempenho e, ao mesmo tempo, aumentar a vida útil do seu SSD.

* swap - Lembre-se de que isso não é usado apenas quando os recursos são baixos, o swappiness configurável para muitas distribuições Linux prontas para uso por padrão estacionará processos de longa duração e de baixa prioridade mais abaixo na escala de desempenho no espaço de troca)

* Aparar - vale a pena verificar se você a ativou, um bom artigo sobre o que é aparar e como funciona: http://searchstorage.techtarget.com/definition/TRIM

Rob Lawton
fonte
0

Acho que é porque as unidades SSD são como memória flash, onde se desgastam quanto mais você lê e escreve ciclos. A troca tornaria isso muito pior, uma vez que a troca está constantemente gravando no arquivo de troca.

user152695
fonte