我的程序有7,667,712字節的已提交堆,但它有33,546,240個保留堆字節!我可以看到該程序使用大約44 MB的專用字節。我怎樣才能讓.NET GC爲託管堆預留更少的空間?.NET提交與保留堆大小
2
A
回答
3
最簡單的答案是你不能。 .Net GC是自調整的,它會熱切地保留內存,但它不會在內存需要時才提交內存,當內存不再需要時,它會被重新保留。
GC uncommit機器上存在高存儲壓力時的記憶。
33 MB不是那麼大,因爲默認情況下(如果您的進程是32位,並且您正在運行工作站GC模式),您將爲16 MB的小對象堆保留默認段。
6
僅僅因爲你的進程已經保留了內存,並不意味着它正在使用那個內存。
在Windows中,保留內存意味着您的進程已將映射頁面映射到它是地址空間。物理內存通過提交這些保留頁面來分配。當然,即使這樣,你也不一定要使用那個內存,因爲提交的頁面可以換出到頁面文件,暫時釋放底層的物理內存。
總之,這不是你(通常)需要擔心的事情。你試圖解決什麼問題?
相關問題
- 1. MSVC堆保留/提交
- 2. 堆棧保留大小和堆棧提交大小是否會增加提高應用程序性能?
- 3. 如何計算保留的堆大小和淺堆大小?
- 4. 瞭解Node.js的駐留集大小與堆大小(OOM錯誤)
- 5. 增加堆棧保留大小不會防止堆棧溢出
- 6. 預留Java JVM最大堆大小
- 7. 在提交後保留值
- 8. 保留一個cell.imageView的大小與圖像大小無關
- 9. 最大線程堆棧大小.NET?
- 10. 表單提交導致'超出最大調用堆棧大小'
- 11. SweetAlert 2 - 表單提交(超出最大調用堆棧大小)
- 12. ps2pdf:保留頁面大小
- 13. str_ireplace()保留大小寫
- 14. 保留筆的大小?
- 15. 使用jackson ObjectMapper時保留的堆大小更多ObjectMapper
- 16. java中保留的字符串堆大小
- 17. .NET大對象堆和JSON交互
- 18. 提交後Docker鏡像大小與容器大小不匹配
- 19. 如何在保留「最新」提交的同時壓縮大量「先前」提交?
- 20. 放大時保留演員的大小
- 21. 使用Ruby's Net保留HTTP標頭中的大小寫:HTTP
- 22. jQuery Mobile:提交後保留數據
- 23. 提交後保留字段值
- 24. 下拉不保留在提交
- 25. 刪除提交,但保留更改
- 26. 提交表單並保留值設置
- 27. PHP提交後保留價值
- 28. 提交後保留所選下拉值
- 29. 保留提交的JSP表單數據
- 30. 表格提交後保留div值
我知道什麼是承諾和保留的意思。問題在於用戶經常抱怨.NET應用程序的內存使用率過高,我想以某種方式隱藏它。 – wj32 2009-06-14 07:06:32