IRONSOFTWAREHOME

Linux/WSL'de .NET Süreç Hafızasını İzleme

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

Hafıza açısından yoğun .NET işleri, örneğin OCR, PDF oluşturma veya resim işleme, WSL (Windows Subsystem for Linux) veya Linux konteynerleri gibi kısıtlı ortamlarda boyutlandırılması zor olabilir. Bir sürecin hafıza tüketimini gerçek zamanlı olarak doğrudan bir konsol uygulamasından kaydedebilir veya standart Linux araçlarıyla dışarıdan izleyebilirsiniz.

Gereksinimler

  • .NET SDK yüklü, sürüm 5.0 veya daha yeni.
  • Bir Linux ortamı, ya yerel ya da WSL üzerinden.
  • Temel bir .NET konsol uygulaması.

Çözüm

1. Konsola hafıza kullanımı kaydet

Sürecin özel hafıza boyutunu okuyun ve megabaytlar cinsinden yazdırın:

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, işlemin münhasır olarak tahsis ettiği ve diğer işlemlerle paylaşmadığı bellek miktarını bayt olarak döndürür. Uygulamanızın ne kadar ağır çalıştığını gösteren sağlam bir gösterge.

2. Hafızayı sürekli olarak izleyin

Uzun süre çalışan bir süreç için, okuma işlemine bir döngü içinde yer verin ve zaman içinde kullanımı örnekleme:

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

Thread.Sleep(5000) çağrısı, her beş saniyede bir okumaya yönelik olarak günlüklemeyi ayarlar. Çıktıyı bir dosyaya ya da başka bir sürece aktaran ya da kullanım bir eşiği geçtiğinde uyarıları tetiklemek için kullanan bir yöntem.

Konsol Çıkış

Memory Usage: 214 MB
Text

Seçenek: Linux araçlarıyla harici olarak izleyin

Uygulama dışındaki bir süreç izlemek için standart yardımcı programlardan birini kullanın. <pid>, İşlem Kimliği, işletim sisteminin her çalışan işleme atadığı benzersiz sayıdır.

top veya htop: tek bir süreci canlı olarak izleyin.

top -p <pid>
SHELL

ps: bellek alanlarının tek seferlik bir anlık görüntüsünü yazdır.

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

Burada VSZ sanal bellek boyutu KB olarak ve RSS yerleşik küme boyutudur, kullanılan fiziksel bellek.

smem: daha ayrıntılı bir işlem başına analiz için yükleyin.

sudo apt install smem
smem -p <pid>
SHELL

En İyi Uygulamalar

  • Bellek izleme işlemini üretime göndermeden önce test ortamlarında çalıştırın.
  • Uzun süre çalışan hizmetler veya API'ler için Prometheus veya Grafana gibi bir metrik yığını entegre edin.
  • Sadece hata ayıklama için GC.Collect() ayırın.
Uyarı: GC.Collect() komutunu üretim kodunda çağırmaktan kaçının; sadece hata ayıklama sırasında kullanın.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 21,105,021Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

OR
bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999