|
发表于 2010-12-18 23:42:42
|
显示全部楼层
小弟以前在網路上找到的一個 NOTE :
把以下 code 放到 timer 中, 讓它每半小時或 1 小時執行一次
據說可以清掉 memory leak (該釋放而沒釋放乾淨的記憶體區快)
void __fastcall TForm1::Button1Click(TObject *Sender)
{
SetProcessWorkingSetSize(GetCurrentProcess,0xFFFFFF,0xFFFFFF);
Sleep(100);
}
不過我相信功能有限, 所以一直沒去用它
(因為我不相信有所謂的什麼程式碼加進去後, 可以讓 AP 完全不再有 memory leak 的仙丹)
最後還是土法鍊鋼, 最保險的方法還是把 SERVER AP 每天自動重啟
選個人少的時段自行重啟, 重啟也不用 5 秒,
CLIENT 也有 RETRY 機制, 不會因為剛好這 5 秒有 CLIENT 連不進來而導致 CLIENT 掛掉
沒有那種 SERVER AP 得時時刻刻都 WORKING 的情況, 每天停機 5 秒為了重啟以保持每天都在最佳工作狀態也無可厚非 |
|