IRONSOFTWAREHOME

Überwachung des .NET-Prozessspeichers in Linux/WSL

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

Ressourcenintensive .NET-Arbeit, wie OCR, PDF-Erstellung oder Bildverarbeitung, kann in eingeschränkten Umgebungen wie WSL (Windows Subsystem für Linux) oder Linux-Containern schwer zu skalieren sein. Sie können den Speicherverbrauch eines Prozesses in Echtzeit direkt von einer Konsolenanwendung aus protokollieren oder ihn extern mit Standard-Linux-Tools überwachen.

Voraussetzungen

  • .NET-SDK installiert, Version 5.0 oder später.
  • Eine Linux-Umgebung, entweder nativ oder über WSL.
  • Eine grundlegende .NET-Konsolenanwendung.

Lösung

1. Speichernutzung in der Konsole protokollieren

Lesen Sie die private Speichergöße des Prozesses aus und drucken Sie sie in Megabyte aus:

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 gibt die Menge des Speichers in Byte zurück, die der Prozess ausschließlich belegt und nicht mit anderen Prozessen teilt. Es ist ein solider Indikator dafür, wie stark Ihre Anwendung läuft.

2. Speichern kontinuierlich verfolgen

Für einen langlaufenden Prozess falten Sie das Lesen in eine Schleife ein, um die Nutzung im Laufe der Zeit zu erfassen:

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

Der Thread.Sleep(5000)-Aufruf begrenzt das Logging auf eine Abfrage alle fünf Sekunden. Leiten Sie die Ausgabe an eine Datei oder einen anderen Prozess weiter oder verwenden Sie sie, um Alarme auszulösen, wenn die Nutzung einen Schwellenwert überschreitet.

Konsolenausgabe

Memory Usage: 214 MB
Text

Option: Extern mit Linux-Tools überwachen

Um einen Prozess von außerhalb der Anwendung zu beobachten, verwenden Sie eines der Standard-Utilities. <pid> ist die Prozess-ID, die eindeutige Nummer, die das Betriebssystem jedem laufenden Prozess zuweist.

top oder htop: beobachten Sie einen einzelnen Prozess live.

top -p <pid>
SHELL

ps: Drucken Sie eine einmalige Momentaufnahme der Speicherfelder.

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

Hier ist VSZ die Größe des virtuellen Speichers in KB und RSS ist die Resident Set Size, der physische Speicher in Nutzung.

smem: installieren Sie es für eine detailliertere prozessweise Aufschlüsselung.

sudo apt install smem
smem -p <pid>
SHELL

Bewährte Verfahren

  • Führern Sie die Speicherverfolgung in Testumgebungen durch, bevor Sie die Produktion einsetzen.
  • Für langlaufende Dienste oder APIs integrieren Sie einen Metrikstapel wie Prometheus oder Grafana.
  • Reservieren Sie GC.Collect() ausschließlich für das Debugging.
Warnung: Rufen Sie GC.Collect() nicht in Produktionscode auf; verwenden Sie es nur während des Debuggens.
Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 21,105,021Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $