Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
(Çözüldü)Memory aşımı
#1
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ı?
Cevapla
#2
Selamlar
Sanırım memoryleak vardı Aşağıdaki linki inceleyebilirsiniz.

https://www.thoughtco.com/memory-leak-no...hi-1057613
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#3
(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.
YouTube Delphi Tips
"Mantıklı adam kendini dünyaya uyarlar; mantıksız adam ise dünyayı kendine uydurmakta inat eder. Bu nedenle, tüm ilerleme o inatçı adama bağlıdır." - George Bernard Shaw
WWW
Cevapla
#4
(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;
Cevapla
#5
hım deneyelim bakalım. Bizimki web servis gerçi.
Cevapla
#6
(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.
Cevapla
#7
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.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#8
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.?
Cevapla
#9
bkz delphican bu link.
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif
Cevapla
#10
Bu yöntemde sorunumuzu çözmedi. Sad

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


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQL Table Type parametre gecisi hakkında (Çözüldü) adelphiforumz 1 151 09-04-2026, Saat: 15:53
Son Yorum: adelphiforumz
  FastReport Dinamik Sayıya Göre Etiket Bastırma [ÇÖZÜLDÜ] bünyamin68 2 752 09-01-2025, Saat: 13:47
Son Yorum: bünyamin68
  paslibvlcplayerin gec acilmasi sorunu-COZULDU sadikacar60 7 1.151 08-10-2024, Saat: 09:25
Son Yorum: mrmarman
  [Çözüldü] HTTP üzerinden RTSP ile IP kamera stream işlemek Abdullah ILGAZ 4 6.867 08-10-2024, Saat: 09:20
Son Yorum: sadikacar60
  çözüldü-screenshot yapmak hk. sadikacar60 16 8.806 19-06-2024, Saat: 16:12
Son Yorum: bydelphi



Konuyu Okuyanlar: