Cuando montas o administras un PC con GNU/Linux, tarde o temprano te toca lidiar con problemas de hardware, rendimiento extraño o cuellos de botella. Y aquí es donde entran en juego las herramientas de benchmarking y diagnóstico: sirven para saber qué tienes instalado, cómo rinde de verdad y si el sistema está funcionando como debería.
En el ecosistema Linux no faltan opciones, pero muchas búsquedas siguen devolviendo utilidades de los años 90 o proyectos abandonados. La realidad es que hoy disponemos de un buen número de herramientas modernas, fiables y en muchos casos de código abierto para medir CPU, GPU, RAM, disco, red o incluso consumo energético, algunas pensadas específicamente para Linux y otras multiplataforma.
Qué es un benchmark y por qué importa en Linux
Un benchmark, banco de pruebas o punto de referencia, no es más que un programa (o conjunto de programas) diseñado para medir el rendimiento de un componente o de todo el sistema: procesador, memoria, almacenamiento, tarjeta gráfica, red, etc., ejecutando tareas controladas y comparables.
Estas pruebas suelen basarse en operaciones repetibles que simulan cargas de trabajo reales: cálculos matemáticos, compresión de datos, cifrado, renderizado 3D, compilaciones, accesos a disco o tráfico de red. Como siempre ejecutan lo mismo, puedes comparar tus resultados con bases de datos públicas o con otras máquinas que tengas a mano.
En Linux esto es especialmente útil porque la combinación entre kernel, distribución, drivers, firmware y hardware puede dar lugar a situaciones curiosas: dos equipos con componentes parecidos pueden comportarse de manera muy distinta según el soporte de drivers, la configuración del sistema o la madurez de la GPU en Mesa.
Además de rendimiento bruto, muchos benchmarks actuales también permiten medir consumo, rendimiento por vatio, latencias de memoria o ancho de banda de buses, algo clave si trabajas con servidores, HPC o quieres afinar la autonomía de un portátil.
Cuándo tiene sentido usar herramientas de benchmarking
No es necesario estar todo el día pasando pruebas, pero hay varios escenarios en los que vienen de lujo para tomar decisiones basadas en datos y no en sensaciones:
- Antes de comprar hardware nuevo, para comparar CPUs, GPUs o SSD y ver qué se ajusta mejor a tu uso.
- Al actualizar componentes (más RAM, otro disco, cambio de gráfica), para verificar el salto de rendimiento real.
- Si haces overclocking o undervolting, usando pruebas de estrés prolongadas para comprobar estabilidad y temperaturas.
- Cuando sospechas de un fallo de hardware (disco moribundo, RAM defectuosa, GPU que se cuelga bajo carga).
- Para comparar distribuciones o configuraciones de kernel, controladores gráficos o sistemas de ficheros.
Eso sí, conviene tener claro que ningún benchmark es la verdad absoluta: muchas empresas maquillan resultados, algunas herramientas favorecen ciertas arquitecturas y los fabricantes han llegado incluso a optimizar hardware y compiladores para lucir mejor en pruebas concretas que no reflejan del todo el uso real.
Preparar tu sistema Linux antes de hacer benchmarks
Si quieres que los resultados tengan sentido, es importante preparar mínimamente el sistema para que las cifras reflejen la capacidad real de tu equipo y no el caos de procesos en segundo plano o actualizaciones en mitad de la prueba.
Unas pautas básicas que merece la pena aplicar:
- Actualiza a la última versión estable de tu distribución y verifica que los controladores estén al día, sobre todo los de GPU.
- Cierra aplicaciones pesadas (navegadores con mil pestañas, entornos de desarrollo, máquinas virtuales, clientes de juego).
- Desactiva temporalmente servicios de actualización automática que puedan arrancar en medio de las pruebas.
- Si puedes, realiza los benchmarks desde una sesión de consola o TTY sin entorno gráfico o usando un entorno de escritorio ligero, especialmente para pruebas de CPU y disco.
- Comprueba que el plan de energía no limite la frecuencia de la CPU y que no haya throttling térmico desde el primer minuto.
En muchos casos también es recomendable reiniciar el sistema justo antes de empezar y anotar la configuración exacta (versión de kernel, drivers, resolución, tipo de disco, etc.) si quieres comparar posteriormente con otros equipos o cambios de hardware.
Herramientas para identificar y auditar hardware en Linux
Antes de lanzarse a medir rendimiento puro conviene saber exactamente qué hardware ha detectado tu distribución y cómo lo está viendo el kernel. Esto ayuda a localizar problemas de drivers o componentes que directamente no se están usando.
Aquí entran en juego utilidades como HardInfo, CPU-X, HWInfo o Mission Center, además de un buen arsenal de comandos clásicos que siguen siendo imprescindibles.
HardInfo: información detallada del sistema y pequeños benchmarks
HardInfo es una herramienta gráfica disponible en la mayoría de distribuciones que ofrece un resumen muy completo del hardware y software instalado: CPU, RAM, placa base, dispositivos PCI y USB, almacenamiento, red, versiones de kernel, módulos cargados, etc.
Se instala fácilmente desde el centro de software o con:
sudo apt install hardinfo
Al ejecutarla verás un árbol de categorías en la parte izquierda y, dentro, fichas con datos bastante detallados. Además incluye una sección de Benchmarks básicos (Zlib, Fibonacci, MD5, SHA1, Blowfish…) que permiten hacer pruebas rápidas de CPU y comparar con otros sistemas usando una escala relativa.
CPU-X y CPU-Fetch: alternativas ligeras para CPU y memoria
Si lo que te interesa es centrarse especialmente en el procesador, memoria y placa, CPU-X es una opción muy cómoda. Ofrece una interfaz muy similar a CPU-Z de Windows, con pestañas para CPU, cachés, placa, RAM, sistema y gráficos, y se basa en código abierto, disponible vía repositorios o Flatpak.
CPU-Fetch, por su parte, es una utilidad de línea de comandos pensada para mostrar de forma rápida la arquitectura del procesador, tecnología de fabricación, frecuencia máxima, núcleos/hilos, soporte de instrucciones AVX y tamaño de las cachés. Ideal si sólo quieres detalles del micro sin abrir una interfaz gráfica.
HWInfo y KInfoCenter: sistemas KDE y terminal puro

Para quienes prefieren la terminal, hwinfo es una herramienta veterana que lista todo el hardware reconocido por el sistema directamente en la consola. Se instala en Debian/Ubuntu con:
sudo apt install hwinfo
Y puedes usar comandos como:
hwinfo | more
hwinfo -cpu
En escritorios KDE, KInfoCenter viene integrado y proporciona un panel central con información sobre CPU, RAM, almacenamiento, puertos USB, placa base y otros dispositivos sin necesidad de instalar nada adicional si usas una versión moderna de KDE.
Mission Center: monitorización continua en Linux
Mission Center es una especie de Administrador de tareas “vitaminado” para Linux, con paneles para uso de CPU, GPU, memoria, discos y red. Aunque está más orientado a monitorización en tiempo real que a benchmarking sintético, es muy útil para ver cómo responde el hardware mientras ejecutas otras pruebas de estrés o cargas reales.
Comandos esenciales para reconocer hardware
Junto a las herramientas gráficas, la línea de comandos sigue siendo la forma más rápida y precisa de obtener datos detallados sobre el equipo. Algunos comandos básicos que deberías tener en tu arsenal:
- lscpu: resumen de la CPU, núcleos, hilos, arquitectura, flags.
- lshw -short: listado compacto de prácticamente todo el hardware detectado.
- lspci: dispositivos conectados al bus PCI (tarjeta gráfica, red, USB, controladoras…).
- lsusb: dispositivos USB conectados.
- lsblk: discos y particiones con su jerarquía.
- lsscsi: dispositivos SCSI y similares.
- df -H: particiones y espacio usado/disponible.
- free -m: memoria RAM total, usada y libre.
- dmidecode: información obtenida de las tablas DMI/SMBIOS.
- hdparm: parámetros y pruebas rápidas de discos SATA.
Combinar estas utilidades con los datos de HardInfo o CPU-X te permite tener una fotografía bastante precisa de qué hardware tienes y cómo lo ve Linux, algo imprescindible antes de empezar a comparar rendimientos.
Phoronix Test Suite: la suite de referencia para benchmarking en Linux
Cuando hablamos de pruebas de rendimiento completas en Linux, Phoronix Test Suite (PTS) es el nombre que se repite siempre. Se trata de una plataforma de benchmarking muy amplia, de código abierto, con cientos de tests y suites predefinidas, que cubren desde CPU y discos hasta juegos, OpenGL, OpenCL, servidores web, bases de datos o video encoding.
PTS funciona como un “wrapper”: tú le indicas qué prueba o conjunto de pruebas quieres ejecutar y él se encarga de descargar los programas necesarios, resolver dependencias, lanzar los benchmarks en modo automatizado y guardar los resultados. Todo controlado por un único comando: phoronix-test-suite.
Además, se integra con OpenBenchmarking.org, donde puedes subir tus resultados y compararlos con los de la comunidad, algo muy útil si estás validando hardware nuevo o quieres ver cómo se comporta tu equipo frente a configuraciones similares.
Instalación y comandos básicos de Phoronix Test Suite
En muchas distribuciones hay paquetes preparados, y en Debian/Ubuntu también puedes usar directamente el .deb oficial. Si al instalar aparecen errores de dependencias (por ejemplo, falta de php-gd), puedes resolverlos con:
sudo apt-get -f install
Una vez instalado, al ejecutar phoronix-test-suite sin argumentos se muestra un largo listado de comandos disponibles: instalación de tests, ejecución, resultados, utilidades de análisis, módulos, etc. En la práctica, para la mayoría de usuarios el patrón que más se usa es:
phoronix-test-suite run nombre-test
phoronix-test-suite run nombre-suite
Antes de lanzar un test que no tengas descargado, PTS te avisará de que esa prueba no está instalada y te preguntará si quieres parar para instalarla y resolver dependencias. Este proceso puede tardar unos minutos la primera vez, porque descarga binarios, datos y paquetes necesarios.
Listado de pruebas disponibles en PTS
Una de las grandes virtudes de Phoronix Test Suite es la cantidad de perfiles de prueba disponibles. Puedes verlos con:
phoronix-test-suite list-tests
La salida incluye benchmarks de casi todo lo que puedas imaginar: pruebas de disco (fio, IOzone, Dbench, FS-Mark), CPU (C-Ray, OpenSSL, SciMark, N-Queens, compilación de kernel), gráficos (glmark2, GpuTest, Unigine, Xonotic, ET:QW, Nexuiz, OpenArena, SuperTuxKart, Lightsmark, LuxMark), memoria (RAMspeed, Stream), red (network-loopback), servidores (Apache, Nginx, PostgreSQL), codificación de audio/vídeo, cifrado, HPC, OpenCL, etc.
Para no volverse loco, los autores agrupan estos tests individuales en “suites” temáticas, que se enfocan en escenarios de uso concretos: CPU, gaming, servidor, escritorio, portátiles, bases de datos, vídeo, audio, estaciones de trabajo gráficas, etc. Puedes listar las suites con:
phoronix-test-suite list-available-suites
Suites recomendadas según el uso del equipo
En función del rol del equipo que quieras evaluar, PTS ofrece combinaciones muy prácticas de pruebas. Algunas de las más útiles:
- Portátiles: tests como pts/battery-power-usage para consumo en batería, pts/unpack-linux para rendimiento de disco con muchos ficheros pequeños y pts/byte como benchmark genérico.
- Servidores HTTP: pruebas individuales pts/apache y pts/nginx para medir peticiones por segundo que puede servir cada servidor en tu máquina.
- Bases de datos: la suite pts/database agrupa pruebas como SQLite y pgbench, ideal para ver cómo responde el sistema en cargas transaccionales.
- Desarrollo y compilación: suites como pts/compiler junto con pruebas tipo pts/unpack-linux simulan compilaciones intensivas y manejo de árboles de código muy grandes.
- Gaming en Linux: suites pts/ioquake3-games, pts/gaming, pts/gaming-free y pts/unigine ejecutan baterías de juegos y demos 3D a distintas resoluciones, arrojando FPS medios, mínimos y máximos.
- Codificación de vídeo/audio: suites pts/video-encoding y pts/audio-encoding tiran de x264, FFmpeg, mencoder y codificadores de audio (FLAC, MP3, Ogg, WavPack, Monkey Audio) para medir velocidad de transcodificación.
- Cifrado SSL: el test pts/openssl mide firmas o operaciones por segundo, muy útil para servidores que vayan a manejar mucho tráfico HTTPS.
- Rendimiento general: la suite pts/linux-system es una especie de “todo en uno” para obtener una impresión global del equipo, combinando pruebas de CPU, disco, red, cifrado, servidores y más.
Durante la ejecución, PTS te muestra siempre progreso, número de repeticiones, desviación estándar, y una media final. Si alguna prueba falla (por dependencias, bugs o incompatibilidades puntuales), puedes decidir si dedicar tiempo a depurarla o simplemente descartarla y fiarte del resto de resultados.
Ejemplos de pruebas reales con Phoronix
Para que veas el tipo de información que se puede extraer, algunos ejemplos típicos de uso:
- Con pts/apache se han obtenido cifras cercanas a 38.000 peticiones/segundo en equipos de sobremesa modernos, lo que permite comparar entre máquinas o entre versiones de Apache.
- La prueba pts/nginx en la misma máquina puede arrojar valores de más de 56.000 peticiones/segundo, ilustrando diferencias entre servidores HTTP bajo condiciones equivalentes.
- La suite pts/compilation compila Apache, el kernel Linux, MPlayer, PHP e ImageMagick y mide el tiempo en segundos; a menor tiempo, mejor rendimiento de CPU y disco.
- Los tests de gaming lanzan títulos como ET: Quake Wars, Nexuiz, OpenArena, Urban Terror o Unreal Tournament 2004 a 1080p, midiendo FPS medios y estabilidad de renderizado.
- Con pts/video-encoding puedes ver cuántos fotogramas por segundo codifica tu CPU con x264 o cuánto tarda FFmpeg y Mencoder en procesar determinados clips.
En equipos de escritorio es habitual que algunas pruebas puntuales fallen (por ejemplo, demos muy antiguas que ya no compilan bien o binarios desfasados), pero el valor de PTS está en que puedes repetir exactamente las mismas pruebas en distintos equipos y tener comparaciones razonablemente justas.
Benchmarks específicos para CPU, memoria y disco en Linux
Más allá de Phoronix, en Linux dispones de utilidades especializadas que permiten afinar la medición de componentes concretos, como CPU, cachés o subsistema de almacenamiento. Son muy útiles cuando quieres aislar un posible cuello de botella o validar que un SSD o una RAM están rindiendo como dicen las especificaciones.
Lmbench: latencias y ancho de banda de bajo nivel
Lmbench es un conjunto de herramientas pensadas para medir latencias y anchos de banda de operaciones básicas del sistema: copia, lectura y escritura en memoria, pipes, sockets TCP, cambios de contexto, creación de procesos, operaciones de E/S, etc.
Al instalarlo, se añaden varios binarios en un directorio tipo /usr/lib/lmbench/bin/<arquitectura>, que puedes ejecutar individualmente, o bien lanzar el asistente lmbench-run, que guía por la configuración, ejecuta las pruebas y genera un informe legible.
Por ejemplo, para comprobar el ancho de banda de lectura de la RAM:
./bw_mem 256m rd
268.44 3913.68
En este caso, se le indica que lea 256 MB de memoria y devuelve MB leídos y MB/s de ancho de banda, lo que te da una idea del rendimiento efectivo de la memoria en esa plataforma.
Medir discos con dd, hdparm, iozone y compañía
Para el subsistema de almacenamiento, además de los tests de PTS, siempre puedes recurrir a herramientas clásicas como dd, hdparm o IOzone. No son tan “bonitas” como CrystalDiskMark en Windows, pero siguen siendo referencia para medir lectura y escritura secuencial y aleatoria.
Con dd puedes forzar escrituras y lecturas a bajo nivel y ver la velocidad real obtenida. Por ejemplo, para medir escritura a un fichero temporal:
dd if=/dev/zero of=/tmp/output bs=1M count=128
Aquí se copian 128 MB de ceros desde /dev/zero al fichero destino, y al final dd mostrará tiempo total empleado y MB/s de escritura. Invirtiendo el comando:
dd if=/dev/sda of=/dev/null bs=1M count=128
Podrás medir lectura, copiando 128 MB desde el disco /dev/sda a /dev/null. La idea de usar /dev/zero y /dev/null es que el origen o destino prácticamente no añaden latencia, concentrando la medición en el disco real.
Para un análisis más profundo con múltiple tamaño de bloque, acceso aleatorio y patrones de escritura, herramientas como hdparm, iozone o fio dan mucha más granularidad y permiten simular cargas de bases de datos o entornos de virtualización.
Benchmarking gráfico en Linux: GPU, juegos y Vulkan
En los últimos años, Linux se ha convertido en plataforma muy seria para jugar gracias a SteamOS, Proton y el empuje de Valve con dispositivos como Steam Deck. Eso ha disparado el interés por medir rendimiento de GPU, estabilidad de drivers y compatibilidad con APIs modernas como Vulkan.
Además de los tests integrados en Phoronix (Xonotic, OpenArena, Unigine Heaven, Valley, Tropics, SuperTuxKart, glmark2, LuxMark, SmallPT GPU, etc.), hay varias herramientas externas muy populares en el mundo gráfico.
Unigine Heaven y otras demos 3D
Las demos de Unigine (Heaven, Sanctuary, Tropics, Valley, Superposition) son ya un clásico del benchmarking 3D. Heaven, por ejemplo, está disponible para Windows, macOS y GNU/Linux, y somete la GPU a una escena 3D exigente midiendo FPS, temperatura y estabilidad.
En Linux, puedes lanzar estas demos tanto a través de perfiles de PTS como de manera independiente, ajustando resolución, calidad gráfica, antialiasing y API (OpenGL en la mayoría de casos). Son excelentes para detectar inestabilidades en overclock, problemas de refrigeración o bugs de drivers.
GpuTest, glmark2, LuxMark y otros tests gráficos
Herramientas como GpuTest, glmark2, j2dbench, x11perf o LuxMark cubren distintos aspectos de la pila gráfica: desde rendimiento general en OpenGL a pruebas específicas de OpenCL para cómputo en GPU.
Por ejemplo, glmark2 ofrece una batería de escenas OpenGL fáciles de lanzar desde la terminal, con puntuaciones globales comparables. LuxMark se centra en renderizado mediante OpenCL, ideal si quieres evaluar la GPU para tareas de cómputo más que para juegos.
Vulkan en Linux: estado actual y pruebas
En cuanto a Vulkan, su soporte en Linux pasa sobre todo por Mesa para GPUs AMD e Intel y por los controladores propietarios de NVIDIA. Muchas de las pruebas modernas integradas en PTS o en suites de terceros empiezan a incorporar backends Vulkan junto a OpenGL o Direct3D, permitiendo comparar el rendimiento entre APIs.
Aunque en el contenido original que hemos desgranado no se listan herramientas Vulkan específicas, hoy en día tienes a tu disposición benchmarks multiplataforma como GFXBench (para OpenGL/Vulkan), o demos técnicas y juegos nativos que exponen contadores de rendimiento con esta API. La clave es asegurarse de:
- Usar drivers actualizados (Mesa reciente o últimos controladores de NVIDIA).
- Comprobar las capabilities de Vulkan con herramientas como vulkaninfo.
- Lanzar pruebas repetibles (misma resolución, calidad y escena) para obtener comparaciones consistentes.
Benchmarks sintéticos, estándares y sus trampas
Más allá de las herramientas específicas para Linux, no está de más entender cómo funcionan los benchmarks sintéticos y los estándares de la industria, ya que muchas veces verás cifras de Geekbench, 3DMark, Cinebench o SPEC mezcladas con resultados en Linux.
Un benchmark puede adoptar varias formas:
- Programa real: se usa software típico del usuario (compresores, editores de vídeo, videojuegos) midiendo tiempos reales; es lo más representativo.
- Microbenchmark: pequeños fragmentos de código para medir una operación concreta (latencia de memoria, operaciones en coma flotante, etc.).
- Pruebas sintéticas: programas diseñados sólo para medir rendimiento, sin ser aplicaciones de uso diario (3DMark, PassMark, PCMark…).
- Benchmarks de E/S, bases de datos o paralelos: centrados en subsistemas específicos como I/O, SQL o HPC.
Organizaciones como SPEC han creado suites estandarizadas como SPEC CPU2006 o SPEC CPU2017, que agrupan decenas de programas representativos (compiladores, simuladores, procesamiento científico) y producen una métrica global (SPECratio) para comparar procesadores y arquitecturas.
El problema es que, en la práctica, muchos fabricantes y medios se quedan con una única cifra “bonita” y olvidan el contexto: versión de compilador, flags usados (LTO, PGO, optimizaciones específicas), versión de firmware, tipo de memoria, disipación térmica, etc., todo lo cual puede cambiar el resultado de forma dramática.
Cómo interpretar los resultados y no dejarte engañar
Una vez tienes una montaña de números, toca interpretarlos con criterio. No basta con mirar la cifra más grande: hay que entender qué está midiendo cada prueba y bajo qué condiciones.
Algunos aspectos clave:
- Comprueba si el benchmark indica “higher is better” o “lower is better”. En FPS, más es mejor; en tiempo de renderizado en segundos, menos es mejor.
- Fíjate en métricas relevantes para tu uso: caída de fotogramas en vídeo, FPS mínimos en juegos, GB/s en cifrado, MIPS a frecuencia comparable, tiempo de compilación, etc.
- Distingue entre rendimiento single-core y multi-core. Muchos juegos y aplicaciones ligeras escalan mal en muchos hilos, así que un buen rendimiento por núcleo es crucial.
- Desconfía de pruebas de una sola pasada a baja temperatura: el throttling térmico en sesiones largas puede reducir el rendimiento sostenido.
- No te fíes de comparativas donde hardware y software no están alineados: RAM distinta, frecuencias diferentes, firmwares desiguales o drivers con versiones incompatibles.
También conviene recordar que algunas empresas han llegado a optimizar compiladores y hardware específicamente para lucir bien en benchmarks concretos, sin que eso se traduzca necesariamente en mejoras equivalentes en aplicaciones reales. De ahí la importancia de combinar pruebas sintéticas con carga real: tu compilador, tu servidor web, tus contenedores, tus juegos.
En la práctica, lo más sensato en Linux es apoyarse en herramientas como Phoronix Test Suite, Lmbench, IOzone, HardInfo y los comandos clásicos, y repetir los mismos escenarios en cada máquina o configuración. Así podrás detectar de forma bastante fiable si un nuevo kernel, un cambio de driver, un SSD NVMe o una GPU distinta merecen la pena para tu caso concreto.
Todo este ecosistema de benchmarks y utilidades en Linux puede parecer abrumador al principio, pero una vez eliges un pequeño conjunto de herramientas y baterías de pruebas que se ajusten a tu flujo de trabajo, se convierte en una forma muy potente de diagnosticar problemas, validar hardware y exprimir al máximo tu sistema sin dejarte llevar sólo por las hojas de especificaciones o el marketing de turno.