Max RSS, o Maximum Resident Set Size, es una métrica de uso de memoria que representa la cantidad máxima de páginas de memoria física (RAM) que un proceso ha tenido mapeadas y cargadas en la memoria principal del sistema operativo en cualquier punto de su ciclo de vida. A diferencia del 'Virtual Memory Size' (VMS), que incluye memoria asignada pero no necesariamente residente o incluso disponible, RSS se enfoca exclusivamente en la memoria física. Es importante destacar que RSS no incluye la memoria que ha sido 'swapped out' al disco, solo la que reside activamente en RAM.

Esta métrica es ampliamente utilizada en herramientas de monitoreo de sistemas operativos y utilidades de perfilado de rendimiento. Por ejemplo, en sistemas Linux, el comando `ps aux` muestra la columna 'RSS' para el uso actual de memoria residente, y herramientas como `top` o `htop` también la exponen. Para obtener el Max RSS histórico de un proceso, se puede consultar `/proc/<pid>/status` (campo 'VmPeak' o 'VmRSS' para el pico de RSS) o utilizar herramientas de perfilado de memoria como `valgrind --tool=massif` que registran el uso de memoria a lo largo del tiempo. Plataformas de orquestación como Kubernetes exponen métricas de uso de memoria, donde el Max RSS es un indicador clave para evaluar si un contenedor excede sus límites de memoria.

Para un arquitecto de sistemas, Max RSS es una métrica crítica para la planificación de capacidad y la optimización de recursos. Un Max RSS elevado puede indicar 'memory leaks' o un uso ineficiente de la memoria, lo que lleva a 'thrashing' (excesivo swapping) y degradación del rendimiento general del sistema. Al definir límites de memoria para contenedores o máquinas virtuales, el Max RSS histórico de las aplicaciones es fundamental para establecer límites realistas ('memory requests' y 'memory limits') que eviten 'Out Of Memory' (OOM) kills sin desperdiciar recursos. Entender el Max RSS permite tomar decisiones informadas sobre la densidad de aplicaciones por servidor, la elección de algoritmos y estructuras de datos, y la configuración de 'garbage collectors' para optimizar el consumo de RAM y reducir los costos operativos.