Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Hafızadaki Alanı Sıfırlama
#1
Selamlar

Arkadaşlar birkaç defadır denk geldiğim bir olaydan dolayıı sizlerden yardım almak istiyorum. Yazmış olduğum bir exenin windowsta kapladığı alan ram üzerinde 2 MB. program sürekli çalışıyor ve kapanmaması gerekiyor. Fakat 2 aydır programın kapandığı ile ilgili olarak tarafıma firmadan bilgi dönülüyor. Her defasında neden kapandığını bulmak istedim ancak windows eventlarında bir log kaydına ulaşamadım. Programı birkaç gün takip ettiğimde ise, ram da kapladığı alan 4 gün de 89 mb ye çıkmış. 10 gün sonra 1 GB ye. nil ve free komutlarını kullandığım halde yinede bir şişme oluyor. Bu sebeple, kodumun arkasına şu fonksiyonu koydum.

procedure TrimAppMemorySize;
var
 MainHandle : THandle;
begin
 try
   MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
   SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
   CloseHandle(MainHandle) ;
 except
 end;
 Application.ProcessMessages;
end;

Prosesim her dakika çalışıp verileri kaydettikten sonra bu kodla trim işlemini yapıyorum. birkaç gün  takip ettim. proses çalışmaya başladığı an exe boyutu 3 mb oluyor. Proses bitince tekrar exe ilk boyutuna dönüyor. Bu işlemin doğru olup olmadığı konusunda fikirlerinizi rica ederim.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Cevapla
#2
Bununla ilgili mutlaka iyi bir çözüm vardır diye düşünüyorum,
Ancak şu da geçici bir çözüm olabilir mi?
sistemin bir boşta bekleme anında yani "system idle" anını tespit edip 
o anda kısa bir süreliğine yeni uygulama başlatıp, mevcut uygulamanı terminate edebilirsin.
Dolayısıyla yeni bir proses ile yoluna devam edebilirsin.
Sistemin bu işlem için müsait mi bilmiyorum ama .
Kalan ömrünün en genç build’indesin.
Counter artar, deadline sabit.
Age++ çalışıyor, rollback yok.
Her yer exception
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  DBGRID Otomatik Sıra No Alanı [ÇÖZÜLDÜ] bünyamin68 2 1.292 18-10-2023, Saat: 21:00
Son Yorum: bünyamin68
  dbgrid satırdaki bir alanı salt okunur Hale getirme ibrahim.aydin@perga.com.tr 7 2.730 14-10-2021, Saat: 10:22
Son Yorum: ibrahim.aydin@perga.com.tr
  SQLite Text Alanı Sorunu Frrst 8 4.244 17-10-2020, Saat: 19:47
Son Yorum: Frrst
  Cxgrid datetime alani hatası siyahbere 1 2.223 21-12-2018, Saat: 17:27
Son Yorum: meko
  [Çözüldü] Otomatik artan alan değerlerini sıfırlama Lord_Ares 4 4.228 17-10-2018, Saat: 08:54
Son Yorum: esistem



Konuyu Okuyanlar: 1 Ziyaretçi