Speicherauslastung



  • Hi.
    Ich hab da mal eine Frage wegen der Speicherauslastung. Ich hab da so ein wirklich kleines Programm geschrieben, ca. 1 mb groß und dann als ClickOnceDemo veröffentlicht. Was ich komisch finde:
    Die Speicherauslastung liegt aber bei 14000K. Das ist doch ziemlich viel für ein kleines Programm, oder?
    Kann das an meiner Programmierung liegen?
    Wie kann ich die Auslastung verringern?

    Danke für jede Antwort



  • Wo hast du die Größe her? Ausm Taskmanager? Falls ja: der zeigt eh Mist an. Die 14 MB sind dann nämlich nicht nur dein Programm sondern auch noch die geladenen .Net Dlls etc. Und trotzdem sind die 14 MB an sich gar nichts - ich weiß nicht wieso Leute sich immer wünschen das der Taskmanager sowenig wie möglich anzeigen soll, denn ein weiterer Grund warum relativ viel angezeigt wird, liegt in der Speicherverwaltung von .Net.

    Wenn du ein .Net Programm startest wird immer bedeutend mehr Speicher angefordert wie es im Minimalfall zum Betrieb brauch. Der Grund ist der GC und der managed Heap der ja mehr nem Stack von der Anordnung der Objekte her ähnelt. Da wäre es jetzt blöd bei jedem GC Durchlauf Speicher anfordern und freigeben zu müssen. Deshalb wird dafür gleich mehr Speicher angefordert so das der GC nur intern verwalten muss was freier und schon benutzter Speicher ist, nach außen hin scheint der Speicherbereich dauerheft allokiert.

    Wenn jetzt aber ein anderes Programm kommt und viel Speicher anfordert und der Platz wird knapp im RAM, dann gibt .Net auch unbenötigten Speicher ab - und die scheinbare Größe im Speicher wird wieder kleiner. Kannst du auch leicht testen indem du mal den Ram mit irgendwelchen Programmen etc. zumüllst bis fast voll(kannst auch dein .Net Programm 100 mal starten) dann wirst du sehn das viel weniger Speicher angefordert wird von deinem .Net Prgramm, als im unausgelasteten Zustand.

    Von daher ist die Minimierung der Speicheranzeige im Taskmanager meistens nur was was sich unfähige Chefs wünschen 😉

    Und minimier mal dein Programm und machs wieder auf und schau dir dann mal die Speicherauslastung an 😉



  • Thx für die schnelle Antwort.
    Hätt ich mir auch denken können, dass Windoof wiedermal Müll anzeigt.^^


Anmelden zum Antworten