Ubuntu quiere habilitar TRIM para SSD de forma predeterminada en Ubuntu 14.04. En otras palabras, Ubuntu aún no usa TRIM, por lo que su SSD se ralentiza con el tiempo. Pero, ¿por qué Ubuntu ya no usa TRIM?
Esta noticia probablemente sorprenderá a muchas personas, que asumieron que Ubuntu y otras distribuciones de Linux ya estaban usando TRIM. TRIM evita que las SSD se ralenticen con el tiempo y es una parte necesaria del mantenimiento de las SSD.
Por qué es importante TRIM
Hemos cubierto por qué TRIM es importante antes de. Cuando elimina un archivo en un disco duro magnético antiguo, la computadora simplemente marca ese archivo como eliminado. Los datos del archivo se quedan en el disco duro, eso es por qué los archivos borrados se pueden recuperar . La computadora eventualmente sobrescribirá los archivos eliminados cuando sobrescriba sus sectores con nuevos datos.
Las unidades de estado sólido (SSD) funcionan de manera diferente . Siempre que escribe un archivo en un SSD, la computadora primero debe borrar cualquier dato en los sectores en los que está escribiendo los datos. No puede simplemente "sobrescribir" los sectores en una operación; primero debe borrarlos y luego escribir en los sectores vacíos.
Esto significa que un SSD se ralentizará con el tiempo. Escribir en los sectores del SSD será rápido la primera vez. Después de eliminar algunos archivos e intentar escribir en ellos nuevamente, tomará más tiempo. Esta es una gran parte de la razón por la que el Nexus 7 original de Google se ralentizó tanto con el tiempo. Google solucionó esto implementando TRIM en Android 4.3. (Android también usa el kernel de Linux).
Con TRIM habilitado, el sistema operativo le dice al SSD cada vez que borra un archivo. Luego, la unidad puede borrar los sectores que contienen el contenido del archivo, por lo que escribir en los sectores será rápido en el futuro.
En otras palabras, si no usa TRIM, su SSD se ralentizará con el tiempo. Es por eso que los sistemas operativos modernos, incluidos Windows 7+, Mac OS X 10.6.8+ y Android 4.3+ utilizan TRIM. TRIM se implementó en Linux en diciembre de 2008, pero Ubuntu no lo usa de forma predeterminada.
RELACIONADO: ¿Qué es una unidad de estado sólido (SSD)? ¿Necesito una?
¿Por qué Ubuntu no TRIM por defecto?
La verdadera razón por la que Ubuntu no TRIM SSD de forma predeterminada es porque la implementación de TRIM del kernel de Linux es lenta y da como resultado un rendimiento deficiente en el uso normal.
En Windows 7 y 8, Windows envía un comando TRIM cada vez que elimina un archivo, indicándole a la unidad que elimine inmediatamente los bits del archivo. Linux admite esto cuando los sistemas de archivos se montan con la opción "descartar". Sin embargo, Ubuntu, y otras distribuciones, no hacen esto de forma predeterminada por razones de rendimiento.
La wiki de OpenSUSE contiene información detallada de un desarrollador que está más familiarizado con el kernel de Linux que nosotros. Está un poco anticuado, pero es probable que siga siendo cierto en lo que respecta al rendimiento:
“La implementación del kernel del ajuste en tiempo real en 11.2, 11.3 y 11.4 no está optimizada. La especificación. pide que el recorte admita una lista vectorizada de rangos de recorte, pero a partir del kernel 3.0, el recorte solo es invocado por el kernel con un solo rango de descarte / recorte y con los SSD actuales de mediados de 2011 esto ha demostrado causar una degradación del rendimiento en lugar de un aumento del rendimiento. Hay algunas razones para usar el soporte de descarte en tiempo real del kernel con kernels anteriores a 3.1. No se sabe cuándo se optimizará la funcionalidad de descarte de kernels para que funcione de manera beneficiosa con los SSD de la generación actual ". [ Fuente ]
En otras palabras, el kernel de Linux maneja tales comandos TRIM en tiempo real de una manera lenta y no optimizada. Habilitar TRIM de manera similar a como lo hace Windows, es decir, usar la opción "descartar", hace que el sistema se vuelva más lento que si TRIM no se usara en absoluto. Ubuntu y otras distribuciones de Linux no habilitan el "descarte" de forma predeterminada para sus sistemas de archivos, y usted tampoco debería hacerlo.
Hay otra forma
Debido a que la operación TRIM de "descarte" en tiempo real del kernel de Linux no funciona bien, la mayoría de las distribuciones de Linux, incluido Ubuntu, no utilizan TRIM automáticamente. Android tampoco usó TRIM hasta Android 4.3.
Pero hay otra forma de utilizar TRIM. En lugar de simplemente emitir el comando TRIM cada vez que se elimina un archivo, se puede utilizar la función FITRIM. Esto sucede mediante el comando fstrim. Básicamente, el comando fstrim analiza el sistema de archivos e informa a la unidad qué bloques ya no son necesarios, para que la unidad pueda descartarlos. Esto convierte a TRIM de una operación en tiempo real a una tarea programada. En otras palabras, fstrim puede realizar TRIM como un trabajo cron. No hay ninguna razón para no hacer esto. No ralentizará nada; es solo otra tarea de limpieza de la casa que el sistema tiene que realizar en un horario.
RELACIONADO: ¿Por qué mi Nexus 7 es tan lento? 8 formas de acelerarlo de nuevo
De hecho, este es el enfoque que adoptó Google con Android 4.3. Android simplemente ejecuta una tarea fstrim ocasionalmente para RECORTAR el sistema de archivos, corrigiendo el problema que ralentizó todos esos Nexus 7 originales .
Ubuntu también está buscando habilitar TRIM automáticamente haciendo que el sistema ejecute fstrim regularmente. Con suerte, esto será parte de Ubuntu 14.04 para que los usuarios de Ubuntu no se vean obligados a lidiar con la degradación del rendimiento de SSD o ejecutar fstrim por su cuenta.
Cómo habilitar TRIM
No recomendamos montar sus sistemas de archivos con la operación de "descartar", ya que esto probablemente resultará en un rendimiento más lento en el uso normal. Sin embargo, puede usar TRIM usted mismo ejecutando ocasionalmente el comando fstrim o creando su propio cronjob que ejecute fstrim según una programación.
Para RECORTAR su SSD en Ubuntu, simplemente abra una terminal y ejecute el siguiente comando:
sudo fstream -v /
Puede ejecutar el comando anterior de vez en cuando para evitar la degradación del rendimiento en SSD. La frecuencia con la que necesita ejecutarlo depende de la frecuencia con la que se eliminan los archivos de su SSD. Verá un error si intenta ejecutar el comando con una unidad que no es compatible con TRIM.
Si desea ejecutar TRIM con regularidad, simplemente puede crear un cronjob que ejecute el comando fstrim por usted. A continuación, se explica cómo hacer un trabajo cron básico que lo haga automáticamente.
Primero, ejecute el siguiente comando para abrir el editor de texto nano con permisos de root:
sudo nano /etc/cron.daily/fstrim
Escriba el siguiente código en el archivo:
#! / bin / sh
fstrim /
Guarde el archivo presionando Ctrl + O y presione Entrar para confirmar. Presione Ctrl + X para cerrar nano después de guardar el archivo.
Por último, ejecute el siguiente comando para que el script sea ejecutable:
sudo chmod + x /etc/cron.daily/fstrim
Ubuntu ahora ejecutará fstrim en un horario, tal como lo hace con otras tareas de mantenimiento del sistema.
Tenga en cuenta que TRIM solo es compatible con los sistemas de archivos modernos, por lo que necesitará algo como ext4 y no ext3 o ext2. Si no sabe qué sistema de archivos está utilizando, no se preocupe, ext4 está seleccionado de forma predeterminada.
Gran parte de este consejo también se aplica a otras distribuciones de Linux. Si bien Linux implementó el soporte TRIM en el kernel hace mucho tiempo, parece que su soporte TRIM nunca se habilitó de forma predeterminada para los usuarios típicos en las distribuciones de Linux.
Credito de imagen: Mace Ojala on Flickr (recortado)