IRONSOFTWAREHOME

Monitorowanie pamięci procesów .NET w Linux/WSL

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Praca .NET wymagająca zasobów, taka jak OCR, generowanie PDF czy przetwarzanie obrazów, może być trudna do wycenienia w ograniczonych środowiskach, takich jak WSL (Windows Subsystem for Linux) lub kontenery Linux. Można rejestrować zużycie pamięci procesu w czasie rzeczywistym bezpośrednio z aplikacji konsolowej lub obserwować go zewnętrznie przy użyciu standardowych narzędzi Linuksa.

Wymagania wstępne

  • Zainstalowane .NET SDK, wersja 5.0 lub nowsza.
  • Środowisko Linux, natywne lub poprzez WSL.
  • Podstawowa aplikacja konsolowa .NET.

Rozwiązanie

1. Logowanie zużycia pamięci do konsoli

Odczytaj rozmiar prywatnej pamięci procesu i wydrukuj ją w megabajtach:

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 zwraca ilosc pamieci, w bajtach, ktora proces zarezerwowal wylacznie i nie dzieli sie z innymi procesami. To solidny wskaźnik, jak ciężko działa aplikacja.

2. Śledzenie pamięci ciągle

Dla procesu działającego przez długi czas, opakuj odczytywanie w pętlę, aby próbować użycie w czasie:

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

Wywolanie Thread.Sleep(5000) ogranicza logowanie do jednego odczytu co piec sekund. Przekazuj wyjście do pliku lub innego procesu, lub używaj go do włączania alertów, gdy zużycie przekroczy próg.

Wynik konsoli

Memory Usage: 214 MB
Text

Opcja: Monitorowanie zewnętrznie za pomocą narzędzi Linuksa

Aby obserwować proces z zewnątrz aplikacji, użyj jednej z standardowych narzędzi. <pid> to ID procesu, unikalny numer przypisywany przez system operacyjny kazdemu uruchomionemu procesowi.

top lub htop: obserwuj na zywo jeden proces.

top -p <pid>
SHELL

ps: wydrukuj jednorazowy zrzut pol pamieci.

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

Tutaj VSZ to wirtualny rozmiar pamieci w KB, a RSS to rozmiar zestawu rezydentnego, fizycznej pamieci w uzyciu.

smem: zainstaluj, aby uzyskac bardziej szczegolowy podzial na procesy.

sudo apt install smem
smem -p <pid>
SHELL

Najlepsze praktyki

  • Uruchamiaj śledzenie pamięci w środowiskach testowych przed wdrożeniem do produkcji.
  • Dla działających długoterminowo usług lub API, zintegruj stos metryk, takich jak Prometheus lub Grafana.
  • Zarezerwuj GC.Collect() tylko do debugowania.
Ostrzeżenie: Nie wywołuj GC.Collect() w kodzie produkcyjnym; używaj tego jedynie podczas debugowania.
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 21,105,021Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

OR
bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD