Monitorear las temperaturas de Ryzen en Linux con los últimos módulos de kernel

Monitorear las temperaturas de Ryzen en Linux con los últimos módulos de kernel

Objetivo

Monitorear las temperaturas y el voltaje del sistema en un sistema AMD Ryzen que ejecuta Linux.

Distribuciones

Todas las distribuciones que ejecutan kernel 4.11 o superior

Requisitos

Una instalación de Linux que funciona con Kernel 4.11 o más y privilegios de raíz.

Dificultad

Medio

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Las CPU Ryzen de AMD han estado fuera durante varios meses, pero AMD aún no ha publicado ninguna especificación o código para obtener soporte de monitoreo de temperatura para sensores de CPU en Linux.

Afortunadamente, hay sensores bastante precisos en las placas de planta de placas para Ryzen, y se pueden acceder a través de Linux. Solo puede aprovecharlos al máximo utilizando los últimos módulos de núcleos, y en algunos casos, LM_Sensors mismo.

Instale las dependencias de compilación

Primero, necesitará obtener las dependencias de compilación en línea para compilar las últimas versiones de los módulos de sensores de Git.

Suponiendo que esté utilizando una distribución basada en Debian, instale lo siguiente.

$ sudo apt install de construcción de bison flex linux-headers $ sudo apt build-deps $ sudo apt build-deps-sensores LM 

Determine su módulo

Hay dos módulos que encontrarás en las tablas de Ryzen. Ellos son it87 y NCT6775. Casi todas las tablas tienen una u otra. it87 Es más común.

Hay un par de formas de verificar cuál tiene su tablero. Puede ser más fácil hacer una búsqueda en línea. Eso puede no aumentar nada, por lo que tendrá que usar modpoba

Si compiló su propio núcleo, asegúrese de construir ambos módulos. Los núcleos de distribución deben tenerlos disponibles. Luego, intente cargar cada uno de los módulos. Si recibe un error que indica que no tiene ese hardware, ese es el que no tiene. Prueba el otro. Cualquiera que sea exitoso es el que necesita construir.



Obtener y construir

La siguiente sección se referirá a la it87 módulo, pero el proceso es exactamente el mismo para ambos. Simplemente sustituya en NCT6775, Si ese es el que tienes.

Vaya al directorio en el que desea construir y clone el repositorio de Git.

$ cd descargas $ git clone https: // github.com/groeck/it87.git 

Recordar: Sustituto NCT6775 aquí también.

Ahora, cambie en el directorio clonado.

$ CD IT87

Dependiendo de su distribución, es posible que deba modificar el Makfile. Necesita apuntar a la ubicación real de la fuente o encabezados de su núcleo. Si recibe un error al decir eso hacer No puedo encontrar los encabezados de su núcleo, debe modificar el archivo.

Abrir el Makfile y busca la siguiente línea.

Kernel_build: =/usr/src/linux-headers-$ (objetivo)

Cambiarlo para apuntar en la ubicación real de sus encabezados o fuente. El siguiente ejemplo funciona para gentoo.

Kernel_build: =/usr/src/linux

Una vez que se establezca, puede construir su módulo.

$ make -j5

No hay mucha fuente, por lo que la construcción no tomará mucho tiempo.

Antes de instalar, asegúrese de que su /bota La partición está montada. La instalación necesita su Sistema.mapa archivo.

$ sudo monte /dev /sda1 /boot $ sudo make install 

Construir lm_sensors

Es posible que necesite o no hacer esta parte, pero realmente no puede doler. Entonces, si no estás seguro, hazlo.

cd Realice una copia de seguridad de un nivel y tome las últimas fuentes con Git.

$ cd ... $ git clon https: // github.com/groeck/lm-sensores.git 

Cambiar a la nueva carpeta y construirla.

$ CD LM -Sensores $ make -j5 todo 

No se preocupe si ve algunos errores. Sin embargo, asegúrese de que la compilación realmente se complete.

Cuando esté listo, instale.

$ sudo make install


Pruébalo

Puedes cargar los módulos ahora. Usar modpoba Para hacer eso.

$ sudo modprobe it87

Es posible que deba forzar una identificación para el módulo.

$ sudo modprobe it87 force_id = 0x8622 

Algunas identificaciones de fuerza comunes para IT87 son 0x8622, 0x8628, 0x8728, 0x8732. Para NCT6775, intente 0xd120 o 0xd352.

Inicie su demonio lm_sensors (si aún no está) e intente detectar sus sensores.

$ sudo systemctl start lm_sensors $ sudo sensores detect 

Aquí es donde podría volverse raro. Es posible que no detecte nada en el escaneo. No lo tomes al pie de la letra. Ejecutar la llanura sensores ordenar ver con seguridad. En muchos casos, verá la salida de sus sensores de placa base.

Algunas personas podrían no tener tanta suerte. El lanzamiento de Ryzen ha sido extremadamente errático. Diferencias menores aquí y allá han tenido un enorme impacto. Si no funcionó para usted, vuelva a consultar las actualizaciones regularmente y mantenga su BIOS actualizado. Eventualmente, deberías ver apoyo.

Hazlo permanente

Felicidades! Has llegado tan lejos. Es hora de guardar su progreso, por lo que su computadora lo usa cada vez que arranca.

Crea los siguientes archivos.

$ sudo touch /etc /módulos-carga.d/it87.conf $ sudo touch /etc /modprobe.d/it87.confusión 

En /etc/módulos-carga.d/it87.confusión, Coloque la línea de abajo.

it87

Entonces, pon esta línea en /etc/modprobe.d/it87.confusión.

Opciones it87 force_id = 0x8622

Obviamente, asegúrese de usar el módulo real y la identificación de fuerza que hicieron que sus sensores funcionen.

Pensamientos de cierre

El lanzamiento de Ryzen ha sido desordenado, especialmente en Linux. Eso no significa que sea una mala plataforma. En realidad, Ryzen es una excelente opción para una estación de trabajo de Linux de múltiples subprocesos. Solo tenga en cuenta los posibles problemas.

En este caso, estos módulos de núcleo harán que sus sensores de temperatura funcionen según sea necesario. Eventualmente, la necesidad de hacer esto desaparecerá, ya que el apoyo se fusiona en el núcleo.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Obtenga la temperatura de la CPU en Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • La mejor herramienta de monitoreo de sistemas para Linux
  • Ubuntu 20.04 Monitoreo del sistema con widgets de Conky
  • Archivos de configuración de Linux: los 30 principales más importantes
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Descarga de Linux
  • Comandos de verificación de salud básica de Linux
  • Ubuntu 22.04 Monitoreo del sistema con widgets de Conky