簡體   English   中英

如何最小化Windows中的內存使用

[英]How to minimize memory usage in windows

我用C#編寫了一個hello world程序(沒有任何UI的Windows應用程序)。 release-build可執行文件對Thread.Sleep(50000)// 50秒不執行任何操作。 我打開了sysinternals(任務管理器之類的探查器)。 這個可執行文件吃了7MB內存(專用字節)! 誰能解釋正在發生的事情以及如何減小內存使用量。 PS我也嘗試使用NGEN來預編譯.exe,但仍然獲得相同的內存使用率。

非常感謝

C#(和其他JIT編譯/解釋語言)通常最終會在后台自動為您做很多事情。 盡管您編寫的內容很簡單,但是在后台有很多事情可以支持應用程序的JIT性質。

鑒於這些天2GB的內存相當普遍,所以7MB的內存相對較小。 除非您執行不同尋常的操作或分配大量的數組和數據結構,否則它可能不會增加更多。

如果它是一個基於C#WindowsApplication項目類型的Hello World,並且在Program.cs中有一個int main來執行一個應用程序,則該應用程序在Windows窗體上運行,那么不僅會有很多JIT開銷,而且還有很多Windows窗體也有開銷。

一天結束了,我確定一切都很好。

.Net應用程序有很多基本開銷,但是在那之后,您的內存增加應該相對較小。

例。 我的一個應用程序在加載時消耗10MB的內存,但是在從數據庫中加載60k行之后,它僅消耗40MB的內存,每行包含多個字符串和許多值。

在現代計算機上,一個小的固定前期值還不錯。 可伸縮性是當今的主要問題。 .Net可以很好地擴展以進行管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM