Arbeitsspeicher "läuft voll", da Speicher für bereits beendete Anwendungen nicht sofort freigegeben werden

Anonym
2011-10-21T06:58:12+00:00

Guten Tag,

ich habe das Problem, dass W7 nach Beendigung einer Anwendung den Speicher nicht sofort freigibt. Das eigentliche Problem: In einer Batchdatei führe ich sekündlich ein Ping aus. Im Resourcenmonitor kann ich beobachten wie nach und nach immer mehr Ping.exe eingetragen werden und Speicherplatz einnehmen. W7 baut die nicht benötigen Ping-Anwendungen nicht in derselben Geschwindigkeit ab, wie diese erzeugt werden. Folglich füllt sich der Arbeitsspeicher kontinuierlich. Der Rechner ist mit 8 GB RAM ausgestattet und läuft Tag und Nacht. Nach ein paar Tagen ist der RAM voll und es können keine Anwendungen mehr ausgeführt werden, die ausgeführten kommen zum Erliegen.

Im Betrieb laufen lediglich zwei Benutzer-Anwendungen, die inkl. W7 keine 2 GB einnehmen. Daher ist der Arbeitsspeicher großzügig bemessen. Zwischenzeitliche Neustarts, um den RAM wieder zu leeren, sind keine Lösungsoptionen für mich.

Hat jemand von euch eine Idee, wie man W7 dazu bringen kann, dass ausgeführte und beendete Anwendungen den verwendeten Speicher sofort wieder freigeben?

Vielen Dank schon einmal an dieser Stelle.

obutchereit

Windows für Zuhause | Vorherige Windows-Versionen | Windows-Update

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
Anonym
2011-10-26T20:56:15+00:00

Hallo,

Ping - Windows7? Mercedes - Rückwärtsgang? ;o) Das Problem hat sich erledigt, das Ding ist geschreddert. Ich will meine wertvolle Lebenszeit nicht mit so einem Microsoft-Quatsch verschwenden.

Dennoch vielen Dank an alle Helfer!

War diese Antwort hilfreich?

0 Kommentare Keine Kommentare

33 zusätzliche Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2011-10-25T06:56:44+00:00

    Keine Ahnung wer du bist, was mich auch nicht im geringsten interessiert!

    Du wartest höflich ab bis der OP sich mit neuen Informationen zu seinem Problem meldet.

    Deine Einlassung ist für das Problem mal nicht relevant weil du die Ausgangslage nicht erkannt oder ignoriert hast.

    Passt also erst einmal nicht zum Thema, oder möchtest du einen Einzeiler zur Garbagecollection in VBS vorführen?

    Ist aber nicht das Problem, also lese genauer mit, oder halte dich mit verwirrenden Texten für den OP zurück!

    Gruss

    Michael

    Ich habe mir einige Beiträge von dir durchgelesen. Du bist zu jedem schnippisch von dem dir die Antwort nicht passt, oder wie bei mir, die Antwort vor dem OP kommt. Alles schön und gut, dass du das Forum sauber halten willst, aber das geht auch ein bisschen freundlicher.

    Und dann hat halt mein Beitrag nicht zur Problemlösung beigetragen, aber Themaverfehlung würde ich es auch nicht nennen und vl. hilfst es jemand anderen, der auf dieses Thema stößt und ein ähnliches Problem hat.

    "Keine Ahnung wer du bist, was mich auch nicht im geringsten interessiert!"

    --Was sollte diese Aussage? Nichts besseres eingefallen? Ich würde solche Bemerkungen ganz lassen. Die tragen zur Problemlösung auch kein bisschen bei.

    Ich habe in keiner Weise behauptet, dass ein Einzeiler zur Bereinigung des GC genügt, geschweige denn habe ich VBS als Sprache aufgeführt. Also du kannst leider auch nicht von dir behaupten, dass du Beiträge richtig liest.

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  2. Anonym
    2011-10-25T05:57:25+00:00

    Guten Morgen liebe Leute,

    das ist ein gutes Beispiel, weshalb ich die Batchdatei nicht poste. Da kommen dann hilfsbereite Menschen und geben Ratschläge, die nichts mit dem eigentlichen Problem zu tun haben. Ich bin selber viel in Foren unterwegs, jedoch auf der helfenden Seite, und kenne die Problematik dieser Umgebungen. Auch bin ich viele Jahre Embedded-Programmierer für industrielle Anwendungen gewesen. Es ist also nicht so, dass ich gar nicht programmieren kann. Ich sehe hier ausschließlich das Problem, dass Windows sich performanter geben möchte und daher häufig benutzte Programme im Speicher behält. Das ist vom Grundsatz her ja auch gar nicht schlecht.

    Ich wünsche mir, dass einfach hingenommen wird, dass ich regelmäßig eine Wartezeit von ca. 1-2 Sekunde benötige. Ich muss auf ein anderes Programm warten, mit dem ich nicht kommunizieren kann. Diese Wartezeit habe ich bisher realisiert mit:

    ping localhost -n 2 >NUL // oder

    timeout /t 1 /nobreak // oder

    choice /t 1 /d j

    Die Programme werden mit höherer Frequenz in den Speicher geladen, als sie dort abgebaut werden. In der Folge ist der Speicher nach wenigen Tagen voll, das System kommt zum Erliegen.

    Nun muss man doch diesem schlauen Betriebssystem einfach sagen können, "wirf bitte beendete Programme sofort wieder aus dem Speicher!" Aus diesem Grund bin ich mit meiner Frage hier in diesem Forum und nicht in einem DOS-Batch-Froum.

    Einen schönen Tagesstart allen Lesenden!

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  3. Anonym
    2011-10-24T20:51:30+00:00

    Warum benutze die immer wieder eine neue ping.exe?

    Ist es eine normale Pinganfrage, die nur andauernd läuft? Dann benutze doch einfach ping *ADRESSE* -t?

    Anders ist es meiner Meinung nur möglich in dem du den Garbage Collector änderst. Dieser ist dafür verantwortlich, dass der Arbeitsspeicher wieder freigegeben wird und auch wann der freigegeben wird.

    Natürlich wird es schwierig werden mit einer Batchdatei den Garbace Collector zu beeinflussen. Also ist es von Nöten ein Programm unter C, C++ oder C# zum Beispiel zu schreiben und unter dieser den Ping ausführen. Bei diesen Sprachen ist es leichter den Collector schneller und genauer arbeiten zu lassen.

    Aber wenn es gar nicht geht mit Windows 8 sollte dieses Problem nicht mehr bestehen. Dauert leider noch ein wenig. :-S

    Keine Ahnung wer du bist, was mich auch nicht im geringsten interessiert!

    Du wartest höflich ab bis der OP sich mit neuen Informationen zu seinem Problem meldet.

    Deine Einlassung ist für das Problem mal nicht relevant weil du die Ausgangslage nicht erkannt oder ignoriert hast.

    Passt also erst einmal nicht zum Thema, oder möchtest du einen Einzeiler zur Garbagecollection in VBS vorführen?

    Ist aber nicht das Problem, also lese genauer mit, oder halte dich mit verwirrenden Texten für den OP zurück!

    Gruss

    Michael

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare
  4. Anonym
    2011-10-24T20:24:26+00:00

    Warum benutze die immer wieder eine neue ping.exe?

    Ist es eine normale Pinganfrage, die nur andauernd läuft? Dann benutze doch einfach ping *ADRESSE* -t?

    Anders ist es meiner Meinung nur möglich in dem du den Garbage Collector änderst. Dieser ist dafür verantwortlich, dass der Arbeitsspeicher wieder freigegeben wird und auch wann der freigegeben wird.

    Natürlich wird es schwierig werden mit einer Batchdatei den Garbace Collector zu beeinflussen. Also ist es von Nöten ein Programm unter C, C++ oder C# zum Beispiel zu schreiben und unter dieser den Ping ausführen. Bei diesen Sprachen ist es leichter den Collector schneller und genauer arbeiten zu lassen.

    Aber wenn es gar nicht geht mit Windows 8 sollte dieses Problem nicht mehr bestehen. Dauert leider noch ein wenig. :-S

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare