Com um SSD, preciso alterar meu swappiness para aumentar a vida útil do SSD?

33

Encontrei este artigo que inclui a seguinte sugestão:

Swap and swappiness

I kept my swap partition on the old HDD. Swap on the SSD would be faster, but would also shorten the SSD’s life.

My system has plenty of memory, so I also reduced the swappiness value to 0 to tell Ubuntu to only swap when absolutely necessary. I did this by adding the line vm.swappiness=0 to /etc/sysctl.conf.

É verdade que configurar o swappiness para zero aumentará a vida útil do meu SSD? Não consigo encontrar referências a isso em outro lugar.

    
por 8128 11.01.2014 / 23:37

7 respostas

29

Reduzir o swappiness para 0 significa que o SO só começará a usar o SSD para swap quando não houver mais RAM livre disponível.

Teoricamente isso pode aumentar a vida útil do SSD porque o SSD sofrerá menos gravações. Depende se é praticamente aumenta a vida útil do SSD:

  • O Linux raramente usa o swap (especialmente comparado com o Windows) mesmo com valores de swap maiores, então essa configuração provavelmente não mudará o comportamento de troca em sistemas com muita memória RAM em comparação com Uso de RAM. Se você estiver com pouca memória RAM, a troca pode acontecer com bastante frequência com o valor padrão de 60, nesse caso, a troca de itens em queda provavelmente terá um impacto significativo no limite do ciclo de gravação do SSD.

  • A resistência de gravação do SSD ainda é bastante alta para um uso simples do consumidor, pelo menos para SSDs baseados em MLC . Eles dizem que os atuais SSDs baseados em MLC podem tolerar ca. 3000-5000 ciclos de gravação antes que eles se desgastassem. Calculando com o limite de 3000, isso significa que um SSD de 128 GB com uma gravação diária de 10 GB funcionará de maneira satisfatória por ca. 38000 dias, isso significa ca. 100 anos. Se você tem um SSD maior, claro, que vai desgastar muito mais tarde. Portanto, é muito improvável que seu SSD morra por causa das células gastas. (Claro que, se você usar seu SSD em um ambiente corporativo / servidor, as gravações diárias serão muito mais altas, mas em ambientes corporativos, geralmente SSDs baseados em SLC serão usados.)

  • Esse limite de ciclo de gravação é tão alto que os fabricantes de SSDs (inicialmente, a SAMSUNG) começaram a fabricar SSDs baseados em TLC para consumidores, que só podem tolerar ca. 1000 ciclos de gravação, mas são mais baratos. Essas empresas dizem que mesmo o limite de ciclo de gravação desses SSDs durará mais do que o tempo que o produto deve ser usado. (É improvável que em 2024 ainda estaremos usando nossos SSDs de 128 GB). Embora se você tiver um SSD baseado em TLC e escrever com frequência nessa unidade, por exemplo, 50 GB / dia, diminuir o valor do swappiness provavelmente terá um efeito significativo na vida útil do seu SSD.
  • Aqui está um fio gigante onde os entusiastas testaram os SSD's resistência por constantemente escrevendo para eles. Embora seu método de teste provavelmente não seja totalmente correto, seus resultados são bastante impressionantes e calmantes.

Então, para resumir: Em teoria, sim, diminuir o swappiness resultará em maior tempo de vida do SSD, na prática, provavelmente não. Mas se você tem um SSD baseado em TLC e está com pouca memória RAM e geralmente escreve freqüentemente para o SSD, ele também pode ter um efeito prático.

Tenho um SSD de 128 GB baseado em MLC e uso principalmente meu sistema para escritório / navegação e tenho muita memória RAM em relação ao meu uso de RAM, então meu SSD não está sob carga pesada de gravação (embora minha máquina esteja em 24 / 7). Mas porque eu não preciso de trocar nada e é tão fácil abaixar o swappiness que eu fiz para mim mesmo configurar o swappiness para 0 quando eu instalei meus SSDs, porque porque não fazer isso? swappiness para 0 em todas as minhas máquinas, mesmo em máquinas que possuem apenas HDs.)

Você pode verificar quanta gravação seu SSD sofreu durante sua vida com smartctl , procure a linha com Total_LBAs_Written , isso mostrará quantos setores 512b foram gravados no SSD. (Sim, eu sei que os SSDs têm fisicamente blocos 4K, não 512b, mas o SMART ainda diz: Sector Size: 512 bytes logical/physical e com 512 blocos eu recebo resultados que são comparáveis ao tune2fs -l Lifetime grava a saída.) Então multiplique esse número com 512 e você obtém as gravações em byte ou abreviadamente:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

será impresso em GiBs para / dev / sda. (Basta alterar o nome do dispositivo para o nome do seu SSD.) Meu SSD de 128 GB sofreu ca. 800 GB escreve em pouco mais de um ano, o que significa apenas 7 ciclos de gravação usados a partir do 3000.

    
por falconer 12.01.2014 / 11:51
7

Tudo isso fala sobre o desgaste de SSDs é "adivinhação". Eu tive os mesmos sentimentos, mas comecei a usá-los comercialmente. Eu tenho um dos mais rápidos aglomerados de oráculos na costa leste. Há 3 anos, instituímos SSDs para todo o nosso armazenamento E sistemas de arquivos temporários. Fazemos bilhões de operações de gravação / dia para os SSDs. Após 3 anos, ainda não chegamos nem perto de 10% de burnout. Se eu puder fazer isso comercialmente, eles NUNCA se esgotarão em uma situação residencial. Então - eu implementei uma solução SSD especificamente para swap de espaço na minha estação de trabalho linux e BAM !!!

Portanto, a sua quilometragem varia, mas o SSD é o caminho a seguir em todos os sentidos.

Dave

    
por TekOps 16.02.2015 / 04:25
3

Sim . Você precisa alterar o swap para aumentar a vida útil do SSD.

O Swappiness permite controlar quanto arquivo de swap está sendo usado. Os valores de Swapiness podem ser alterados de 0 a 100. Quanto mais alto o valor do swappiness, mais o kernel tentará usar o espaço de swap, os valores mais baixos de swappiness significam que o kernel usará menos ou nenhum espaço de swap dependendo da nossa configuração.

O valor de swappiness padrão é 60, se você tiver bastante RAM, evite usar o espaço de troca que grava e lê no seu SSD, mas em um HDD. Para sistemas com 4 GB ou mais de RAM, tente reduzir o uso de swap alterando as configurações de swap para entre 10 e 0, com o arquivo de swap em um HDD.

A execução de um espaço de troca é muito intensiva em E / S de disco, e isso é realmente ruim para um SSD. Um SSD só pode lidar com tantas gravações antes de ficar ruim e você é forçado a comprar outro disco. Então, se possível, mova seu espaço de troca para uma unidade giratória secundária… longe do SSD.

Um Solid State Drive está desgastado relativamente rápido por ações de gravação. Especialmente as gerações mais antigas de SSDs eram vulneráveis nesse aspecto, mas em menor grau ainda é o caso das novas gerações.

Você pode criar uma nova partição em um novo disco ou apenas criar um arquivo de troca; fazer uma nova partição quase sempre resultará em um desempenho muito melhor.

Se você não tiver uma unidade alternativa para mudar, poderá alterar uma configuração que só ativará a troca quando sua RAM física estiver 100% cheia, o que diminuirá a carga do seu arquivo de swap e ajudará seu SSD. Apenas pressione Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o (s) comando (s) abaixo:

echo 0 > /proc/sys/vm/swappiness

O desgaste do SSD tem a ver com os ciclos de gravação

Um Solid State Drive está desgastado relativamente rápido por ações de gravação. Especialmente as gerações mais antigas de SSDs eram vulneráveis nesse aspecto, mas em menor grau ainda é o caso das novas gerações.

Use o trim

TRIM é uma vantagem que você usa com SSDs. Ele é executado em software e se comunica com o controlador SSD, informando que "blocos" não são mais necessários para o sistema de arquivos e podem ser limpos e substituídos com segurança. Isso não resultará em uma melhoria de desempenho, mas prolongará a vida do seu SSD.

Fontes: Linux SSD Tweaks & Como fazer para otimizar seu SSD

    
por Mitch 12.01.2014 / 11:02
2

Is it true that setting swappiness to zero will increase the life of my SSD?

Isso faria com que o Linux movesse os blocos de memória com menos frequência para a partição de troca. Escrever no swap normalmente usa ciclos de gravação se o seu swap estiver no SSD. Lembre-se de que a troca é usada apenas quando necessário e, se você tiver RAM suficiente, poderá ser melhor sem ela (a menos que queira a hibernação, mas isso é outro problema).

Os efeitos dessas ações podem variar, mas fazer isso apenas para salvar alguns ciclos de gravação no SSD está fazendo errado. SSDs modernos (a partir de 2012 em diante) têm toneladas de ciclos de gravação, e o desempenho pode ser reduzido para seus aplicativos quando você está quase usando toda a sua memória RAM. Você usa mais ciclos de gravação durante a instalação de programas do que a devida troca. Lembre-se, novamente, que swap é usado apenas quando é necessário por padrão.

Se você está preocupado com seus ciclos de gravação SSD usados para swap, você pode remover / desativar a troca se tiver RAM suficiente e ativar apenas uma troca temporária em um HDD, em vez de mexer com a permuta. Essa seria a melhor rota.

    
por Braiam 12.01.2014 / 20:18
0

Eu recomendo que você mude a configuração de swap para menor valor, o melhor é "0" se você tiver memória / memória ram suficiente para o seu sistema de 4 GB de RAM ou mais. Apesar de swappiness em 10 com alto sistema ram, eu mal vejo o Ubuntu colocar qualquer coisa na partição swap, já que na maioria das vezes tudo já está no aro.

Eu fiz uma pequena pesquisa no Google e encontrei esta página link

pode ajudá-lo a ajustar e otimizar o SSD para o seu sistema Ubuntu funcionar de forma mais eficiente e manter o seu ssd vivo por mais tempo

    
por Damon Phillips 12.01.2014 / 22:31
0

Alterar a permuta pode não ter impacto. Nós jogamos muito com isso em sistemas que estão com pouca memória RAM e estamos querendo empurrar o máximo possível para o SSD e ele realmente causou pouco impacto, os itens restantes na memória (o que significa que eles são necessários). Isso pode ser um ponto discutível.

    
por TekOps 05.02.2016 / 18:23
0

Eu gostei da idéia de verificar a saída smartctl , no entanto, meu código é um pouco mais compacto. Eu nunca entendi porque as pessoas simplesmente não sabem que awk tem a capacidade grep embutida nele.

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

Embora este seja o código que eu uso:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
    
por blake private_last_name 26.05.2016 / 15:43

Tags