Uygulamalarımdan birinin bellek sızıntısı olabilme olasılığını araştırdım, bu yüzden bazı temel kod örnekleri ile oynamaya başladım. Bitirdiğim zaman, zaman içinde bırakıldığında, Kol sayısı (> 3000) bakımından büyük ölçüde artmaya başladı. C# Kulp Sayısı
public static void Main(string[] args)
{
using (SqlConnection sqlConnection = new SqlConnection())
{
}
Console.ReadLine();
}
SqlConnection çağrıyı dışarı çıkarak herhangi Kol artışı kaldırır, bu yüzden bağlantı havuzu ile bir ilgisi vardır varsayıyorum şu şekildedir: O kodla çok basit bir konsol uygulamasıdır. Ama bu sadece temelde giriş için bir beklemeye girmeden önce bir kez çalıştığından, Tutanak sayısı neden artmaya devam ediyor?
Teşekkürler. Eğer nesne önbelleği çoğunluğu çerçevesinde oluştuğunu bulacaksınız
Tutamaç sayısını nasıl kontrol edersiniz? – tia
Görev Yöneticisi ve ayrıca İşlem Gezgini (sysinternals) kullanıyorum. –
a Bellek, bir program kendi belleğini kendi kullanımları için saklar ve kapatıldığında serbest bırakmazsa veya kendi bellek kotasını aşarsa ve farklı bir işlem tarafından kullanılan bir bloğa yazarsa, işletim sistemi ikinci ve Çerçeve, ilk önce Mareşal kullanarak bellek el ile ayırma ve daha sonra temizlemek değil bellek sızıntıları sorunu olması muhtemeldir öneriyor – MikeT