PUNTOS CLAVE
- Usa siempre adaptadores paravirtualizados: VMXNET3 para red y PVSCSI para almacenamiento.
- Instala
open-vm-tools-desktoppara obtener una integración real con el entorno gráfico. - Reduce el valor de
swappinessa 10 en Ubuntu para priorizar el uso de RAM física. - Configura el hardware virtual con 1 socket y varios núcleos para optimizar la topología vNUMA.
Instalas Ubuntu, le das a «Siguiente» en el asistente de VMware y, tras el primer reinicio, notas que el ratón tiene lag y que abrir el terminal tarda una eternidad. Es el clásico síntoma de la «configuración por defecto». VMware es conservador por naturaleza, y Ubuntu, con su GNOME cada vez más pesado, no ayuda. Si creías que con instalar las VMware Tools ya habías cumplido, lamento decirte que solo has rascado la superficie de lo que un hipervisor moderno puede ofrecer.
Optimizar una máquina virtual no va de darle más gigas de RAM a ciegas; va de reducir el overhead y asegurar que el Kernel de Linux hable el mismo idioma que el hardware virtualizado de tu host. Vamos a dejar de jugar a los barquitos y a configurar este curro como Dios manda.
#La santísima trinidad: VMXNET3, PVSCSI y NVMe
Por algún motivo que a nivel de ingeniería chirría, VMware sigue ofreciendo adaptadores de red E1000e por defecto en muchos escenarios. Es como intentar correr una maratón con chanclas: funciona, pero es ridículo. El adaptador VMXNET3 es un driver paravirtualizado diseñado específicamente para entornos virtuales, con menor uso de CPU y latencias ínfimas.
- Red: Cambia el tipo de adaptador a VMXNET3. Si usas Ubuntu Server en producción, notarás el cambio en el rendimiento de red inmediatamente.
- Almacenamiento: Si usas vSphere, huye de LSI Logic. El controlador PVSCSI (VMware Paravirtual) está optimizado para altas cargas de I/O. En Workstation 17, el controlador NVMe virtual suele ser la mejor apuesta para discos SSD modernos.
- Aceleración 3D: No escatimes en VRAM. Dale al menos 2GB y asegúrate de marcar «Accelerate 3D Graphics». Sin esto, GNOME renderizará por software, y tu CPU sufrirá lo indecible.
TIP PRO
mks.gl.allowBlacklistedDrivers = "TRUE" en el archivo .vmx. A veces VMware bloquea drivers del host que son perfectamente capaces pero que no han pasado su estricto (y a veces perezoso) filtrado.#Topología de CPU y la mentira de los Sockets
Un error de novato es configurar la VM con muchos «Sockets» en lugar de núcleos (Cores). En el mundo real, esto afecta a cómo Ubuntu gestiona la topología vNUMA. Para el 90% de los casos, lo ideal es configurar 1 Socket y repartir el número total de hilos que quieras asignar como núcleos de ese socket.
Además, si estás en un portátil o un servidor con ahorro de energía, asegúrate de que el host esté en modo «Máximo Rendimiento». De nada sirve optimizar el invitado si el host está bajando la frecuencia de los núcleos porque cree que estás leyendo un PDF.
NOTA TÉCNICA
#Cirugía interna en Ubuntu: Swappiness y Kernel
Ubuntu viene configurado para usar swap bastante pronto (swappiness = 60). En una VM, esto es veneno. Queremos que Linux agote la RAM física asignada antes de tocar el «disco» virtual, que en realidad es otro archivo en tu SSD real.
Añade esto al final del archivo /etc/sysctl.conf:
vm.swappiness = 10 // Reduce la agresividad del intercambio de memoriaY por favor, olvídate de las VMware Tools antiguas. Usa la versión mantenida por la comunidad que viene en los repositorios oficiales:
sudo apt update && sudo apt install open-vm-tools-desktop -y // Incluye soporte para copiar/pegar y redimensionado#El cuello de botella de GNOME
Hace poco monté una instancia de Ubuntu 24.04 para desarrollo web. A pesar de darle 8 núcleos de mi Ryzen 9 y 16GB de RAM, el scroll en VS Code se sentía «pastoso». Parecía mentira que con ese hardware la experiencia fuera tan mediocre.
Lo que saltó a la vista fue el proceso gnome-shell consumiendo un 15% de CPU constante incluso en reposo. Mi primera reacción fue subir el número de núcleos, pero el problema seguía ahí. Al final, el culpable era Wayland. Por algún motivo, la implementación actual de Wayland en Ubuntu bajo VMware no se lleva bien con el driver svga en ciertos setups.
Cometí el error de creer que Wayland, al ser más moderno, sería más eficiente. Al final, forzar el inicio con X11 desde la pantalla de login solucionó el lag visual instantáneamente. A veces, la tecnología de consumo de hace una década sigue siendo el refugio más seguro en entornos virtualizados.
#¿Pero vuela ya o no?
Si has aplicado el driver VMXNET3, has ajustado el swappiness y has habilitado la aceleración 3D con X11, tu Ubuntu debería sentirse nativo. El rendimiento en máquinas virtuales no es magia; es una guerra constante contra las capas de abstracción innecesarias.
Eso sí, si tu host es un portátil con un procesador de bajo consumo y quieres correr un entorno de escritorio pesado, milagros a Lourdes. Considera usar XFCE o un gestor de ventanas ligero si realmente necesitas que cada ciclo de CPU cuente.
Esto lo escribo con Ubuntu 24.04 LTS y VMware Workstation 17.5. Si estás en una versión futura de Ubuntu Pro donde Canonical ha decidido meter más servicios de telemetría por defecto, puede que necesites un paso adicional de «limpieza» para que estos consejos sigan siendo efectivos.
| Componente | Configuración Recomendada | Impacto |
|---|---|---|
| Adaptador Red | VMXNET3 | 🚀 Muy Alto |
| Controlador Disco | PVSCSI / NVMe | ⚡ Alto |
| Aceleración 3D | Activada (2GB+ VRAM) | 🖥️ Crítico para GUI |
| Swappiness | 10 | 🧠 Mejora gestión RAM |
| VMware Tools | open-vm-tools-desktop | 🛠️ Esencial |
Enlaces para profundizar: Best practices de VMware para Linux y la guía de optimización de Canonical para vSphere.