2017-02-23 38 views
1

所以我創建了這個特殊的系統,它將數據從本地磁盤上傳到數據庫,最近我剛剛檢查到它已經消耗了667MB的內存(在1GB RAM計算機)無論如何,無論如何,清除記憶?我在每個小組的每一端使用GC.CollectDispose如何在全天候運行的系統中釋放內存

+0

保留較少的對象並妥善處置未使用的對象 – bansi

+0

我總是''處理完每一個對象,然後'GC.Collect' –

+0

這可能更適合代碼審查(我可能錯了)需要查看您的代碼以瞭解發生了什麼問題。 – Bugs

回答

0

檢查您的進程是否沒有任何內存泄漏並檢查最大值是多少。內存使用量在穩定階段。也許它不會走得更遠。 調整您正在加載的數據的大小以及相對情況下批量插入的行數。數據庫或文件數量的情況下非。相對。 D b。

+0

不幸的是,我無法調節要加載的數據大小,數據可能包含從8小時到3周的值數據。文件範圍從每個文件夾2個CSV文件,每個文件夾最多11個CSV文件。 –

+0

沒有正確的負載平衡,你可以做任何你想要的GC,如果你上傳到內存的數據仍然不會計量。 從最大負載的基準開始。 在加載csv文件(作業)之前創建隊列。 您可以閱讀批量中的csv並以相同的方式插入它們。 – aslavkin