IRONSOFTWAREHOME

Monitorear memoria de procesos .NET en Linux/WSL

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

El trabajo pesado en .NET, como OCR, generación de PDF o procesamiento de imágenes, puede ser difícil de dimensionar en entornos restringidos como WSL (Subsistema de Windows para Linux) o contenedores Linux. Puede registrar el uso de memoria de un proceso en tiempo real directamente desde una aplicación de consola, o observarla externamente con herramientas estándar de Linux.

Requisitos previos

  • SDK de .NET instalado, versión 5.0 o posterior.
  • Un entorno Linux, ya sea nativo o a través de WSL.
  • Una aplicación de consola básica de .NET.

Solución

1. Registrar el uso de memoria en la consola

Lea el tamaño de memoria privada del proceso e imprímalo en megabytes:

using System;
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
// Trigger your memory-consuming logic here (e.g., OCR, PDF generation, etc.)
// Log memory usage
Process currentProcess = Process.GetCurrentProcess();
long memorySize = currentProcess.PrivateMemorySize64; // In bytes
Console.WriteLine($"Memory Usage: {memorySize / (1024 * 1024)} MB");
}
}
C#

PrivateMemorySize64 devuelve la cantidad de memoria, en bytes, que el proceso ha asignado exclusivamente y no comparte con otros procesos. Es un indicador sólido de qué tan cargada está su aplicación.

2. Rastrear memoria continuamente

Para un proceso de larga duración, envuelva la lectura en un ciclo para muestrear el uso a lo largo del tiempo:

while (true)
{
var memory = Process.GetCurrentProcess().PrivateMemorySize64;
Console.WriteLine($"Memory Usage: {memory / (1024 * 1024)} MB");
Thread.Sleep(5000); // Log every 5 seconds
}
C#

La llamada Thread.Sleep(5000) programa el registro para una lectura cada cinco segundos. Dirija la salida a un archivo u otro proceso, o úselos para disparar alertas cuando el uso supere un umbral.

Salida de consola

Memory Usage: 214 MB
Text

Opción: Monitorear externamente con herramientas de Linux

Para observar un proceso desde fuera de la aplicación, use una de las utilidades estándar. <pid> es el ID de Proceso, el número único que el sistema operativo asigna a cada proceso en ejecución.

top o htop: observa un solo proceso en vivo.

top -p <pid>
SHELL

ps: imprime una captura instantánea de campos de memoria.

ps -o pid,vsz,rss,comm -p <pid>
SHELL

Aquí VSZ es el tamaño de memoria virtual en KB y RSS es el tamaño del conjunto residente, la memoria física en uso.

smem: instálalo para un desglose más detallado por proceso.

sudo apt install smem
smem -p <pid>
SHELL

Bestes prácticas

  • Ejecute seguimiento de memoria en entornos de prueba antes de despliegue en producción.
  • Para servicios o APIs de larga duración, integre un conjunto de métricas como Prometheus o Grafana.
  • Reserva GC.Collect() solo para la depuración.
Advertencia: No llame a GC.Collect() en código de producción; úselo solo durante la depuración.
Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 21,105,021Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999