IRONSOFTWAREHOME

Monitorar Memória de Processos .NET no Linux/WSL

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

Trabalhos pesados em .NET, como OCR, geração de PDF ou processamento de imagens, podem ser difíceis de dimensionar em ambientes restritos como WSL (Windows Subsystem for Linux) ou contêineres Linux. Você pode registrar o consumo de memória de um processo em tempo real diretamente de um aplicativo de console, ou assisti-lo externamente com ferramentas padrão do Linux.

Pré-requisitos

  • SDK .NET instalado, versão 5.0 ou superior.
  • Um ambiente Linux, nativo ou via WSL.
  • Um aplicativo de console básico .NET.

Solução

1. Registrar uso de memória no console

Leia o tamanho da memória privada do processo e imprima em 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 retorna a quantidade de memória, em bytes, que o processo alocou exclusivamente e não compartilha com outros processos. É um sólido indicador de quão pesado seu aplicativo está rodando.

2. Monitorar memória continuamente

Para um processo de longa duração, envolva a leitura em um loop para amostrar o uso ao longo do tempo:

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

A chamada Thread.Sleep(5000) ajusta o registro para uma leitura a cada cinco segundos. Encaminhe a saída para um arquivo ou outro processo, ou use-a para disparar alertas quando o uso ultrapassar um limite.

Saída do console

Memory Usage: 214 MB
Text

Opção: Monitorar externamente com ferramentas Linux

Para assistir um processo de fora do aplicativo, use uma das utilitários padrão. <pid> é o ID do Processo, o número único que o sistema operacional atribui a cada processo em execução.

top ou htop: observe um único processo ao vivo.

top -p <pid>
SHELL

ps: imprima um instantâneo único de campos de memória.

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

Aqui VSZ é o tamanho da memória virtual em KB e RSS é o tamanho do conjunto residente, a memória física em uso.

smem: instale-o para uma análise mais detalhada de cada processo.

sudo apt install smem
smem -p <pid>
SHELL

Melhores práticas

  • Execute o acompanhamento de memória em ambientes de teste antes de implantar para produção.
  • Para serviços ou APIs de longa duração, integre uma stack de métricas como Prometheus ou Grafana.
  • Reserve GC.Collect() apenas para depuração.
Aviso: Não chame GC.Collect() em código de produção; use-o apenas enquanto estiver depurando.
Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 21,105,021Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

OR
bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749