2011-11-21 124 views
0

對於提出可能更具體的問題而不是一般概念類型問題,我提前表示歉意。隨着時間的推移增加內存使用量

使用Visual Studio 2010,Visual C#中,.NET 3.5,DevExpress的11.1

我們有一個小的應用程序在三個不同的Windows XP上運行嵌入式「平板電腦的」安裝在配電箱,每個安裝在遠程建築。應用程序與中央數據庫進行通信,以便在桌面視圖中顯示重要事件,並且每秒輪詢一次以儘可能保持最新狀態。

我在星期一的最後一週開始申請。在像這樣的小型設備上,CPU使用率約爲5 - 10%,內存使用量開始爲25 - 30MB。今天,一個星期後,內存使用量達到了80MB--我在上週監測它,並且一直在增加。

據我所知,儘可能使用「使用」語句來處理所有可丟棄對象。我不知道如何釋放內存。如果從30MB開始,它不應該保持在那裏嗎?

雖然每週都會重新啓動應用程序,但XPE沒有'taskkill'命令;也沒有「關機」命令,因此每週重新啓動也不是一種選擇。似乎我必須真正優化我的代碼。

所以我想我想知道的是什麼是非常有限的資源,如平板電腦/瘦客戶端,並重新啓動應用程序和設備不能自動化的設備上節省內存的好辦法?

Thanx。

回答

0

使用內存分析器。 VS 2010中內置了一個分配分析器,並且有很多第三方配置文件,例如ANTS。在你的堆的快照上,你可以看到哪些物體在徘徊。

Using VS2010 Profiler for memory measurement

+0

謝謝。不幸的是,我們使用VS2010專業版,根據您的鏈接,它不受支持。我會盡快調查一些「記憶分析器」;我知道現在要尋找什麼:) – that0th3rGuy

+0

有一個免費的內存分析器從微軟, http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=13382 我認爲是螞蟻探查器略有更易於使用。有免費試用。 –

相關問題