webForumDet fria alternativet

Minnesoptimering

.NET

4 svar · 663 visningar · startad av Razofish

Medlem sedan sep. 2000780 inlägg
Frågan#1

Hej!

Skapade en vanlig WindowsApplication i C# och startade den utan att ändra något i koden och ser till min fasa att programmet slukar 11864kb av minnet! Borde det inte gå att optimera detta? :q

Medlem sedan maj 20021 466 inlägg
#2

Det kanske går, men om det är siffran i Task Manager bör du ta den med en nypa salt, eftersom den visar hur mycket minne ditt program totalt tar upp inklusive alla dll-filer. Den inkluderar även dll-filer som redan laddats och är därför högre än den faktiska minnesförbrukningen. Om du testar att starta programmet flera gånger så märker du att det tillgängliga minnet inte minskar med lika mycket som den siffran visar.

Medlem sedan sep. 2000780 inlägg
#3

Finns det något verktyg för att plocka fram den faktiskta minnemängd som går åt då?

Medlem sedan maj 20021 466 inlägg
#4

Det finns det säkert. Ett program som följer med Visual Studio heter Spy++. Där kan du se information om alla fönster, trådar och processer i systemet. I processinformationen finns något som heter Private Bytes. Det kanske kan vara något?

Medlem sedan aug. 2001458 inlägg
#5

Performance Monitor, ".NET CLR Memory". Där kan du för respektive process som använder CLR titta på respektive generations heapstorlek.

633 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
501 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)