Con un SSD, ¿necesito cambiar mi intercambio para aumentar la vida útil del SSD?


35

Encontré este artículo que incluye la siguiente sugerencia:

Intercambio e intercambiabilidad

Mantuve mi partición de intercambio en el viejo HDD. Cambiar el SSD sería más rápido, pero también acortaría la vida del SSD.

Mi sistema tiene mucha memoria, así que también reduje el valor de intercambio a 0 para decirle a Ubuntu que solo cambie cuando sea absolutamente necesario. Lo hice agregando la línea vm.swappiness = 0 a /etc/sysctl.conf.

¿Es cierto que establecer el intercambio a cero aumentará la vida útil de mi SSD? No puedo encontrar referencias a esto en otro lugar.

Respuestas:


30

Reducir el intercambio a 0 significa que el sistema operativo solo comenzará a usar el SSD para el intercambio cuando no haya más RAM libre disponible.

Teóricamente, esto puede aumentar la vida útil del SSD porque el SSD sufrirá menos escrituras. Depende de si aumenta prácticamente la vida útil del SSD:

  • Linux rara vez usa el intercambio (especialmente en comparación con Windows) incluso con valores de intercambio más altos también, por lo que esta configuración probablemente no cambiará el comportamiento de intercambio en sistemas con mucha RAM en comparación con el uso de RAM. Si tiene poca RAM, el intercambio puede ocurrir con bastante frecuencia con el valor predeterminado de 60, en este caso la disminución del intercambio probablemente tendrá un impacto significativo en el límite del ciclo de escritura del SSD.

  • La resistencia de escritura del SSD sigue siendo bastante alta para un uso simple del consumidor, al menos para los SSD basados ​​en MLC . Dicen que los SSD actuales basados ​​en MLC pueden tolerar ca. 3000-5000 ciclos de escritura antes de que se agoten. Calcular con el límite de 3000 que significa que un SSD de 128 GB con una escritura diaria de 10 GB funcionará felizmente durante ca. 38000 días, eso significa ca. 100 años. Si tiene un SSD más grande, por supuesto, se desgastará mucho más tarde. Por lo tanto, es muy poco probable que su SSD muera debido al desgaste de las células. (Por supuesto, si usa su SSD en un entorno corporativo / servidor, las escrituras diarias son mucho más altas, pero en entornos corporativos generalmente se usan SSD basados ​​en SLC ).

  • Este límite del ciclo de escritura es tan alto que los fabricantes de SSD (al principio SAMSUNG) comenzaron a fabricar SSD basados ​​en TLC para los consumidores, que solo pueden tolerar ca. 1000 ciclos de escritura, pero son más baratos. Estas compañías dicen que incluso el límite del ciclo de escritura de estos SSD durará más que el tiempo que se espera que se use el producto. (Es poco probable que en 2024 sigamos usando nuestros SSD de 128 GB) Aunque si tiene un SSD basado en TLC y escribe con bastante frecuencia en esa unidad, por ejemplo, 50 GB / día, la disminución del valor de intercambio probablemente tendrá un efecto significativo en la duración de su SSD.
  • Aquí hay un hilo gigante donde los entusiastas probaron la resistencia del SSD al escribirles constantemente. Aunque su método de prueba probablemente no sea totalmente correcto, sus resultados son bastante impresionantes y relajantes.

Para resumir: en teoría sí, la disminución del intercambio dará como resultado una vida útil más larga de SSD, en la práctica probablemente no. Pero si tiene un SSD basado en TLC y tiene poca RAM y generalmente escribe con frecuencia en el SSD, entonces también puede tener un efecto práctico.

Tengo un SSD de 128 GB basado en MLC y utilizo principalmente mi sistema para oficina / navegación y tengo mucha RAM en comparación con mi uso de RAM, por lo que mi SSD no está bajo una gran carga de escritura (aunque mi máquina está encendida las 24 horas, los 7 días de la semana). Pero debido a que no necesito intercambiar nada y es muy fácil reducir el intercambio que hice por mí mismo, configuré el intercambio a 0 cuando instalé mis SSD, porque ¿ por qué no hacerlo? (En realidad, configuré el intercambio en 0 en todas mis máquinas, incluso en máquinas que solo tienen HDD).

Puede verificar la cantidad de escritura que ha sufrido su SSD durante su vida útil smartctl, busque la línea con Total_LBAs_Written, esto le mostrará cuánto se han escrito 512b sectores en la SSD. (Sí, sé que los SSD tienen bloques físicamente 4K, no 512b, pero SMART aún dice: Sector Size: 512 bytes logical/physicaly con 512 bloques obtengo resultados que son comparables a la tune2fs -lsalida de escritura de Lifetime.) Entonces multiplique ese número con 512 y obtendrá las escrituras en byte o para abreviar:

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

se imprimirá en GiBs para / dev / sda. (Simplemente cambie el nombre del dispositivo al nombre de su SSD). Mi SSD de 128 GB ha sufrido ca. 800 GB escribe en poco más de un año, lo que significa que solo se usaron 7 ciclos de escritura de 3000.


Con un sistema de archivos, se puede TRIM para reducir la amplificación de escritura. ¿Hay un equivalente para una partición SWAP?
Bryce

Esta respuesta parece suponer que "swappiness" varía de 0 a 100 con cero, lo que significa que no hay intercambio (¿y 100 significa que no hay RAM?). Pero, otra respuesta entra en más detalles sobre el swappinessvalor, lo que indica que el número oscila entre 0 y 200 y representa un peso relativo hacia diferentes tipos de intercambio.
palswim

7

Toda esta charla sobre el desgaste de los SSD es "conjeturas". Tenía los mismos sentimientos, pero comencé a usarlos comercialmente. Tengo uno de los grupos de oráculos más rápidos de la costa este. Hace 3 años, establecimos SSD para todo nuestro almacenamiento y sistemas de archivos temporales. Hacemos miles de millones de operaciones de escritura / día a los SSD. Después de 3 años, todavía no hemos llegado al 10% de agotamiento. Si puedo hacerlo comercialmente, NUNCA se desgastarán en una situación residencial. Entonces, ¡implementé una solución SSD específicamente para espacio de intercambio en mi estación de trabajo Linux y BAM!

Por lo tanto, su kilometraje puede variar, pero SSD es el camino a seguir en todos los sentidos.

Dave


Los SSD destinados a servidores pueden tomar más escrituras que los (más baratos) destinados a los consumidores.
jarno

1
Entendido, pero tengo SSD de consumidor instalados en estaciones de trabajo que funcionan las 24 horas del día, los 7 días de la semana, implementados en toda la empresa y respaldamos los deltas cada dos días, pero no he tenido una sola falla en 2 años. Tenga en cuenta que el MTBF para una bandeja de hilatura física es de 3 años y, en mi experiencia de venta / servicio de sistemas durante más de 25 años, eso es bastante preciso. Los SSD superan a todas las demás opciones, comerciales o de consumo.
TekOps

3

. Es necesario cambiar el intercambio para aumentar la vida útil del SSD.

Swappiness le permite controlar cuánto archivo de intercambio se está utilizando. Los valores de intercambio se pueden cambiar de 0 a 100. Mientras más altos sean los valores de intercambio, más intentará el kernel usar el espacio de intercambio, los valores de intercambio más bajos significan que el kernel usará menos o ningún espacio de intercambio según nuestra configuración.

El valor predeterminado de intercambio es 60, si tiene suficiente RAM, debe evitar usar el espacio de intercambio que escribe y lee en su SSD, pero en un HDD. Para el sistema con 4 GB o más de RAM, intente reducir el uso de intercambio cambiando la configuración de intercambio a entre 10 y 0, con el archivo de intercambio en un HDD.

Ejecutar un espacio de intercambio requiere mucha E / S de disco, y eso es realmente malo para un SSD. Un SSD solo puede manejar tantas escrituras antes de que salga mal y te veas obligado a comprar otro disco. Entonces, si es posible, mueva su espacio de intercambio a un disco secundario giratorio ... lejos del SSD.

Una unidad de estado sólido se desgasta relativamente rápido por las acciones de escritura. Especialmente las generaciones más antiguas de SSD eran vulnerables en ese aspecto, pero en menor grado ese sigue siendo el caso para las generaciones más nuevas.

Puede hacer una nueva partición en un nuevo disco o simplemente hacer un archivo de intercambio; hacer una nueva partición casi siempre dará como resultado un rendimiento mucho mejor.

Si no tiene una unidad alternativa a la que moverse, puede modificar una configuración que solo permitirá el intercambio cuando su RAM física esté 100% llena, lo que disminuirá la carga en su archivo de intercambio y ayudará a su SSD. Simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

echo 0 > /proc/sys/vm/swappiness

El desgaste de SSD tiene que ver con ciclos de escritura

Una unidad de estado sólido se desgasta relativamente rápido por las acciones de escritura. Especialmente las generaciones más antiguas de SSD eran vulnerables en ese aspecto, pero en menor grado ese sigue siendo el caso para las generaciones más nuevas.

Use Trim

TRIM es una ventaja que utiliza con los SSD. Se ejecuta en software y se comunica con el controlador SSD, diciéndole qué 'bloques' ya no son necesarios para el sistema de archivos y se pueden limpiar y sobrescribir de forma segura. Esto realmente no resultará en una mejora del rendimiento, sino que alargará la vida útil de su SSD.

Fuentes: ajustes de SSD de Linux y procedimientos para optimizar su SSD


¿Me gustaría saber qué está mal? El OP le preguntó si necesita cambiar su intercambio para aumentar la vida útil del SSD, y la respuesta es sí, sí necesita cambiar el intercambio.
Mitch

Entiendo que las últimas versiones de Ubuntu usan automáticamente TRIM para SSD.
Paddy Landau

El último Ubuntu solo usa TRIM para ciertos modelos de SSD. @PaddyLandau
Bryce

2

¿Es cierto que establecer el intercambio a cero aumentará la vida útil de mi SSD?

Causaría que Linux mueva los bloques de memoria con menos frecuencia a la partición de intercambio. Escribir en el intercambio normalmente usa ciclos de escritura si su intercambio está en el SSD. Recuerde que el intercambio solo se usa cuando es necesario y si tiene suficiente RAM, puede ser mejor sin él (a menos que desee la hibernación, pero ese es otro problema).

Los efectos de estas acciones pueden variar, pero hacerlo solo para guardar algunos ciclos de escritura en el SSD es incorrecto. Los SSD modernos (aproximadamente a partir de 2012) tienen toneladas de ciclos de escritura, y el rendimiento puede verse reducido para sus aplicaciones cuando casi está usando toda su RAM. Utiliza más ciclos de escritura durante la instalación de programas que el intercambio debido. Recuerde, nuevamente, que el intercambio solo se usa cuando se necesita de manera predeterminada.

Si le preocupan los ciclos de escritura de SSD utilizados para el intercambio, puede eliminar / desactivar el intercambio por completo si tiene suficiente RAM y solo activar un intercambio temporal en un HDD en lugar de jugar con el intercambio. Esa sería la mejor ruta.


0

Le recomendaría que cambie la configuración de swappiness a un valor más bajo, lo mejor es "0" si tiene suficiente memoria / ram para su sistema 4 GB de ram o más. A pesar de que el intercambio a las 10 con un sistema de ram alto, apenas veo que ubuntu ponga algo en la partición de intercambio, ya que la mayoría de las cosas ya están en ram.

Hice una pequeña búsqueda en Google y encontré esta página http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html

podría ayudarlo a ajustar y optimizar SSD para que su sistema Ubuntu se ejecute de manera más eficiente y mantenga su SSD más tiempo


0

El cambio de intercambio puede no tener un impacto real. Hemos jugado mucho con él en sistemas que tienen poca RAM y queremos impulsar lo más posible al SSD y en realidad ha tenido poco impacto, los elementos restantes en la memoria (lo que significa que son necesarios). Esto puede ser un punto discutible.


0

Me gustó la idea de verificar la smartctlsalida, sin embargo, mi código es un poco más compacto. Nunca he entendido por qué las personas simplemente no saben que awktiene la grepcapacidad incorporada.

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

Aunque este es el código que 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; }'
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.