Skip to content
Skip to content

Devxut

Subscribe
  • LINUX
  • INFRAESTRUCTURA
  • CLOUD
  • DEVOPS
  • BACKEND
  • SOBRE MÍ
  • Home
  • Linux
  • Cómo detectar presión real de memoria (y por qué prstat puede engañarte)

Cómo detectar presión real de memoria (y por qué prstat puede engañarte)

Walter Noguera18 de febrero de 202618 de febrero de 2026

¿Has visto procesos de 6GB o más en prstat y pensaste que el servidor estaba sin memoria?

En Solaris, ese diagnóstico suele ser incorrecto.

Muchos administradores interpretan el RSS como consumo real, cuando en realidad gran parte corresponde a memoria compartida. La presión real de memoria se detecta desde el kernel, no desde la vista por proceso.


Regla práctica

Si pi y po están en cero y el sr es bajo, no existe presión de memoria.

Antes de analizar procesos, analiza el sistema.


Paso 1. Verificar si existe paging real

Ejecutamos:

vmstat 3 5

Salida del servidor analizado:

r b w   swap  free  re  mf pi po fr de sr ... us sy id
2 1 0 476735408 253210168 ... 0 0 2 ... 15 6 79
0 0 0 449325384 227805744 ... 0 0 1 ... 25 8 68
0 0 0 449325208 227952304 ... 0 0 1 ... 25 8 68

Observamos que:

  • pi = 0
  • po = 0
  • sr = 1–2
  • La memoria libre ronda los 230GB

El sistema no está intercambiando memoria con swap ni realizando escaneo agresivo. No existe presión de memoria.


Paso 2. Analizar la memoria desde el kernel

Para obtener la distribución real de memoria física:

echo "::memstat" | mdb -k

Salida:

Page Summary                Pages                MB  %Tot
Kernel                    3275919             25593    6%
Anon                     10794130             84329   21%
Page cache                6184883             48319   12%
Free (cachelist)         23554437            184019   47%
Free (freelist)           6370709             49771   13%
Total                   50331648            393216

La memoria anónima representa aproximadamente 84GB (21%), mientras que más de 230GB permanecen libres.

El sistema se encuentra holgado desde el punto de vista de RAM.


Paso 3. Por qué prstat puede resultar engañoso

Muchos análisis comienzan aquí:

prstat -a -s rss

Extracto:

NPROC USERNAME  SWAP   RSS MEMORY
291 oracle     38G   37G   9.7%

A simple vista puede parecer un consumo elevado. Sin embargo, Oracle utiliza memoria compartida (SGA). El RSS no representa consumo independiente por proceso.

En un servidor con 384GB de RAM, 37GB utilizados por Oracle no representan presión.


Errores comunes al analizar memoria en Solaris

  • Confiar únicamente en prstat.
  • Sumar RSS manualmente.
  • No revisar pi, po y sr.
  • Ignorar la distribución real mostrada por ::memstat.

Checklist operativo

Antes de escalar una incidencia por memoria, verifica:

  • pi y po en cero.
  • sr bajo.
  • Memoria libre superior al 20%.
  • Anon menor al 80%.

Si estas condiciones se cumplen, el problema no es RAM.


Conclusión

En el servidor analizado:

  • ~230GB libres
  • 0 paging
  • 0 swapping
  • 21% uso de memoria anónima

No existe presión de memoria.

Si el sistema presenta lentitud, la investigación debe centrarse en CPU, I/O o comportamiento de aplicación.


Idea clave para recordar

En Solaris, la memoria no se diagnostica desde prstat.

Se diagnostica desde el kernel.

Linux, memory, monitoring, prstat, solaris, unix, vmstat

Navegación de entradas

Previous: Cómo analizar consumo de memoria en Linux de forma profesional (troubleshooting)

Post relacionados

Cómo analizar consumo de memoria en Linux de forma profesional (troubleshooting)

21 de noviembre de 202523 de noviembre de 2025 Walter Noguera

Cómo detectar procesos que consumen demasiada CPU en Linux y hacer troubleshooting

21 de noviembre de 202523 de noviembre de 2025 Walter Noguera

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Blocksy: Search Block

Categorías

  • Linux
Etiquetas

Linux memory monitoring prstat solaris troubleshooting unix vmstat

Categorías
  • Linux

Sobre devxut

Blog técnico sobre Linux, backend y troubleshooting.
Guías prácticas basadas en casos reales, scripting, monitoreo y administración de sistemas.
Contenido pensado para aprender, mejorar y resolver problemas reales en servidores Linux.

Conéctate

  • GitHub
  • X (Twitter)
  • Mi portfolio
Copyright All Rights Reserved | Theme: BlockWP by Candid Themes.