sábado, 24 de octubre de 2020

Solucionar Problemas de SSD NVME en Linux

        No hace mucho, adquirí un buen disco de estado solido SSD con interfaz PCI-e NVME de 500GB, para aquellos que no saben qué es, es básicamente un disco SSD muy rápido. El modelo que obtuve es un Kingston A2000 y debo decir que es una muy buena unidad, no solo por el precio, sino también por la calidad y durabilidad del mismo.
 
        Todo estaba bien, pero me encontré con algunos bloqueos del sistema operativo (particularmente en distribuciones GNU/Linux) donde, al azar, sin ninguna advertencia, el disco se comportaba como si alguien lo hubiera desenchufado. Se congelaba totalmente la imagen, no permitia mover el mouse ni reaccionaban las combinaciones de teclas o atajos con el teclado. Por supuesto, esto es inaceptable y había que hacer algo.

Instalar Windows... ¿Es realmente una opción?

        Sí, probé con una instalación de Windows 10 y no tuve ningun tipo de problemas con los bloqueos del sistema operativo. Por supuesto, se podría usar Windows y terminar con estos problemas, pero como no hacemos eso aquí, ya que no es ninguna solución. Tuve que encontrar una solución a esto y así, comenzó la investigación.
 
 
Reporte de error
 
         Encontré este reporte de error y, al leer algunas de las entradas que
publicó la gente, parecía que no iba a solucionarse pronto debido a que habían respuestas muy diferentes. Afortunadamente, después de probar algunas opciones en el GRUB, encontré una que funcionó perfectamente. Todo lo que tuve que hacer fue agregar una línea a mi GRUB_CMDLINE_LINUX y volver a cargar la configuración de GRUB.


La solución

     Abra una terminal, y edite el archivo de configuraciones de GRUB, generalmente se encuentra en /etc/default/grub pero revise la documentación de su distribución. Abrarlo con un editor de texto con privilegios de root o superusuario. Se usará vim en este caso. Ejecute el siguiente comando:

$ sudo vi /etc/default/grub

        Luego, en la propiedad GRUB_CMDLINE_LINUX, simplemente agregue al final el código que figura a continuación dentro de las dobles comillas:
 
nvme_core.default_ps_max_latency_us=0

        Debería quedar de manera similar al de la siguiente imagen (no copie lo que figura en la imagen, ya que su sistema lo tendrá diferente):
 
Eso es todo, agregar el código al final pero dentro de las comillas dobles.

        Guarde los cambios y salga del editor de texto, luego ejecute el siguiente comando:
 
$ sudo grub2-mkconfig -o "$(readlink -e /etc/grub2.cfg)"
 
        En el caso de que esté usando Ubuntu o alguna derivada de la misma, en su lugar, ejecute este otro comando:
 
$ sudo update-grub
 
 
            Finalmente ¡reinicia tu sistema!

        Si deseas verificar si el todo lo anterior funcionó, puedes ejecutar el siguiente comando y debería devolver un 0 (cero):
 
$ cat /sys/module/nvme_core/parameters/default_ps_max_latency_us
 
 
 

        Con suerte, esto ya debería solucionar tus problemas con el disco NVMe. Cualquier comentario o discusión puede hacerse libremente y con respeto en la caja de comentarios de este articulo.

5 comentarios:

  1. Este comentario ha sido eliminado por un administrador del blog.

    ResponderEliminar
  2. Carlos Andrés Pacheco Fuentes7 de junio de 2022, 13:44

    Buenos días, estoy usandado Ubuntu 22.04, mi problema es que mi disco nvme se comienza a llenar solo es decir abro GParted y veo que el porcentaje de uso de disco comienza a subir solo. mi disco es un Adata Swordfish M.2 NVMe SSD sabes como se puede solucionar este problema?

    ResponderEliminar
    Respuestas
    1. Es raro eso que te pasa... no lo había visto antes. Podes hacer una cosa. Ejecuta este comando:

      du -sch /*

      Con eso podes ver que espacio ocupa cada carpeta del sistema. Y podes ir repitiendo el mismo comando pero cambiando la parte final por la carpeta que mas ocupa, por ejemplo: du -sch /opt/*

      Con eso deberias poder identificar que carpeta es la que ocupa mas espacio y hace que se llene tu disco... para asi de esta manera identificar que proceso o software esta causando este comportamiento.

      Espero los resultados!

      Eliminar
  3. Una consulta, yo tengo un disco bloqueado por bitlocker, he investigado y hay una posible solución que es el dislocker, pero, quiero hacer esto con el ubuntu v22 y no me logra detectar el disco, el disco es un solido m.2 nvme, he visto que no son compatibles y eso, quisiera saber si hay alguna solución en este caso?

    ResponderEliminar
    Respuestas
    1. Que no te detecte el disco puede ser un tema de drivers... que versión de kernel estas usando? esto también te pasa con otras distribuciones? yo haria esas pruebas (usando otra distro y probando con alguna que tenga un kernel mas actual) solo para descartar que sea eso. Saludos!

      Eliminar