Delphi Can

Orjinalini görmek için tıklayınız: (Çözüldü)Memory aşımı
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Sayfalar: 1 2
Merhaba Arkadaşlar,

Uygulamada file server üzerindeki permissonları tararken ram sürekli artıyor. Ram'i belirli bir sınırda tutmanaın bir yolu varmı?
Selamlar
Sanırım memoryleak vardı Aşağıdaki linki inceleyebilirsiniz.

https://www.thoughtco.com/memory-leak-no...hi-1057613
(08-07-2020, Saat: 11:52)powerghost Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba Arkadaşlar,

Uygulamada file server üzerindeki permissonları tararken ram sürekli artıyor. Ram'i belirli bir sınırda tutmanaın bir yolu varmı?

Permission'ları kontrol ettiğiniz kısmı kontrol edin.
(08-07-2020, Saat: 11:52)powerghost Adlı Kullanıcıdan Alıntı: [ -> ]Merhaba Arkadaşlar,

Uygulamada file server üzerindeki permissonları tararken ram sürekli artıyor. Ram'i belirli bir sınırda tutmanaın bir yolu varmı?

Merhaba,
Bir aralıkta tutmanın yolu değil ama iş bittikten sonra ayrılmış hafızayı serbest bırakma konusunda işe yarar sanırım.

Ben de servis yazmakla uğraşmak yerine ufak bir uygulama çözüm ürettiğim ve sürekli çalışan bir uygulamam var. Memory problemleri yaşadım. 
İlk çalıştığında 50 MB ile başlardı bitince 40 a düşerdi sonrakinde 90 olur işi bitince 70 olurdu ve sürekli artardı.

Uygulama içinde sürekli kontrol yaptığım aralıkta farklı başka prosedürlerde çağırıyorum her biri bittikten sonra bu prosedürü çağırıyorum.
Taktiğim bu şimdilik ve işe yarıyor, denemekten zarar gelmez.

procedure TfrmAnaEkran.TrimAppMemorySize;
var
 MainHandle : THandle;
begin
 try
   MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
   SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
   CloseHandle(MainHandle) ;
 except
 end;
 Application.ProcessMessages;
end;
hım deneyelim bakalım. Bizimki web servis gerçi.
(11-07-2020, Saat: 00:17)powerghost Adlı Kullanıcıdan Alıntı: [ -> ]hım deneyelim bakalım.  Bizimki web servis gerçi.

Konu Delphi altında ve Genel programlama olunca, delphi uygulaması olduğunu düşündüm.
Kod örneği olsa gözle de anlaşılırdı ancak problemin kaynağını bulmak üzere klasör permissionları baktığınız kodun, dıştan dışa remark içine alıp (süslü parantezler içinde yani devre dışı bırakıp) sonra bu aynı parantezleri sırasıyla dıştan içe doğru bloğu daraltarak hangi aşamada memory leak oluştuğuna ulaşabilirsiniz.

Başlangıçta bu işlem doğası gereği yanlış sonuç gelecek onu önemsemeyin, maksat odağı bulmak. 

WebServices detayını da görünce belki sorun daha başka yerde dahi olası. Bunu da yakalamış olursunuz.
Merhaba Arkadaşlar,

Bir processing ne kadar ram kullandığını Delphide nasıl bulabiliriz. Aktif çalışan uygulamanın ne kadar ram tükettiğini bulaiblirsek belki sorunu çözebilriz.?
Bu yöntemde sorunumuzu çözmedi. Sad

Ben yazılımcı değilim ama Delphi ile ram optimizasyonun bu kadar zor olması çok garip.
Sayfalar: 1 2