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
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

"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" P.Safa
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
  Çözüldü - AdoQuery $Unnamed does not contain a member named Hatası KarahanMesut 2 121 19-09-2020, Saat: 01:26
Son Yorum: KarahanMesut
Photo Çözüldü - ESEGECE Socket IO HeartBeat Timeout exceeded Hatası KarahanMesut 4 242 17-09-2020, Saat: 15:49
Son Yorum: KarahanMesut
Sad FastReport-Memory Leak MugenPower 2 280 25-08-2020, Saat: 02:53
Son Yorum: MugenPower
  Krityere göre listeleme - çözüldü ekank 3 624 16-07-2020, Saat: 22:05
Son Yorum: ekank
  [ÇÖZÜLDÜ SOLVED] Fast Report Kontrollü Component Gizleme 3ddark 0 302 01-07-2020, Saat: 17:08
Son Yorum: 3ddark



Konuyu Okuyanlar: 1 Ziyaretçi