C# ja virtuaalimuisti

hoxhoxhox

Saako virtuaalimuistia tyhjennettyä ohjelman ajon aikana? Se nimittäin kasvaa tolkuttomasti. Eikä ympäristö itse sitä vapauta itse paitsi sitten kun ohjelma suljetaan kokonaan.
Ongelma on, että virtuaalimuistin kasvaessa yli 1GB:n ohjelma ei suostu enää käsittelmään uutta tietoa koska ilmoittaa täydestä muistialueesta.

5

1632

    Vastaukset 5

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Torak

      >> Eikä ympäristö itse sitä vapauta itse paitsi
      >> sitten kun ohjelma suljetaan kokonaan.

      Rajaa eri olioitten elinaikaa käyttämällä using lausetta ja Dispose():a, eiköhän se muistin kulutus siitä pienene.

      • hoxhoxhox

        Tein yksinkertasemman projektin ja suljin formeja dispose komennolla ja käytin GC.Collectia lisäksi. Silti virtuaalimuisti ei vähene sulkemisen..


      • Torak
        hoxhoxhox kirjoitti:

        Tein yksinkertasemman projektin ja suljin formeja dispose komennolla ja käytin GC.Collectia lisäksi. Silti virtuaalimuisti ei vähene sulkemisen..

        Tuli mieleen paljonko ohjelmasi käyttää muistia ettei se törmää 1.5Gb (oikeastaan kahden) muisti rajoitukseen.

        http://www.microsoft.com/technet/sysinternals/information/bootini.mspx

        Voihan sitä koittaa pakottaa:
        GC.Collect();
        GC.WaitForPendingFinalizers();

        Sitten tuli mieleen että jos puhutaan windowsin virtuaali muistista niin asetus täytyy olla automaattisella eikä kokojen min ja max välissä että heittovaihtotiedoston koko pienenee. Jotain tämmöistä muistelisin, ei ole muisti loppunut muutamaan vuoteen niin ei muista.


      • hoxhoxhox
        Torak kirjoitti:

        Tuli mieleen paljonko ohjelmasi käyttää muistia ettei se törmää 1.5Gb (oikeastaan kahden) muisti rajoitukseen.

        http://www.microsoft.com/technet/sysinternals/information/bootini.mspx

        Voihan sitä koittaa pakottaa:
        GC.Collect();
        GC.WaitForPendingFinalizers();

        Sitten tuli mieleen että jos puhutaan windowsin virtuaali muistista niin asetus täytyy olla automaattisella eikä kokojen min ja max välissä että heittovaihtotiedoston koko pienenee. Jotain tämmöistä muistelisin, ei ole muisti loppunut muutamaan vuoteen niin ei muista.

        Automaattisella on asetus.
        Kokeilin myös lisätä rivejä:

        GC.Collect();
        GC.WaitForPendingFinalizers();

        if (Environment.OSVersion.Platform == PlatformID.Win32NT)
        {
        SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
        }

        Viimeinen if lauseen sisällä saa Mem Usagen tippumaan, mutta jos tarkastelen Windows Task Managerin kautta muistitilanne: Mem Usage pysyy kohtuullisena mutta virtuaalimuisti jatkuu kasvuaan yli gigan jne. ja aiheuttaa ohjelmalle ongelmia. Ohjelmassa avataan ja suljetaan raskaita formeja. Onkohan GC:n muistinkäyttö näin huonoa vai mitähän pitäisi vielä kokeilla..


      • tätä
        hoxhoxhox kirjoitti:

        Automaattisella on asetus.
        Kokeilin myös lisätä rivejä:

        GC.Collect();
        GC.WaitForPendingFinalizers();

        if (Environment.OSVersion.Platform == PlatformID.Win32NT)
        {
        SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
        }

        Viimeinen if lauseen sisällä saa Mem Usagen tippumaan, mutta jos tarkastelen Windows Task Managerin kautta muistitilanne: Mem Usage pysyy kohtuullisena mutta virtuaalimuisti jatkuu kasvuaan yli gigan jne. ja aiheuttaa ohjelmalle ongelmia. Ohjelmassa avataan ja suljetaan raskaita formeja. Onkohan GC:n muistinkäyttö näin huonoa vai mitähän pitäisi vielä kokeilla..

        "Onkohan GC:n muistinkäyttö näin huonoa vai mitähän pitäisi vielä kokeilla.."

        Kokeile sitä mitä Torak aiemmin ehdotti, vai onko jokin syy miksi et niin tekisi? Eli:

        "Rajaa eri olioitten elinaikaa käyttämällä using lausetta ja Dispose():a, eiköhän se muistin kulutus siitä pienene."


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ampuminen kylpylässä

      Onko vornasen timbe käynyt hiukan kylpemässä vai mikä tämä ampumatapaus on kylpylässä? Tuntuu aika villi meno olevan naa
      Naantali
      91
      2086
    2. Kemijärvellä vesionnettomuus

      Pitkänsillan ja taiteilijanniemen välillä nähty henkilön painuvan veden alle. Mitä on tapahtunut? Onko vesihiisi taas as
      Kemijärvi
      39
      1353
    3. Hei, voitko kuunnella

      Voisitko auttaa minua selvittämään asioita? En halua ajaa sinua hulluuteen kanssani, en sitoa sinua, en esittää vaatimu
      Ikävä
      137
      1025
    4. Joku porukka lähtenyt täältä

      Ihmeen hiljainen on palsta nyt. Yleensä tänne tulvii aloituksia yms, mutta nyt on kyllä erikoisen hiljaista.
      Ikävä
      218
      965
    5. Miten yrität

      Vielä saada kaivattusi?
      Ikävä
      82
      846
    6. 95
      833
    7. Tuletko tänään

      Jos soitan? Niin... tuletko?🖤
      Ikävä
      79
      731
    8. Olipa yllätys

      Kuten hyvin moni tiesi/arvasi että valetta alusta loppuun toi *olemme ystäviä* satu. Instassaan käsi kädessä kuva kertoo
      Kotimaiset julkkisjuorut
      215
      724
    9. Se kun olit pitkästä aikaa silmieni edessä

      Oli kyllä sykähdyttävää. Tiedätkö, mikä laittaa minut ikävöimään sinua? Kun palautan mieleeni valtavan ihanan olemuksen,
      Ikävä
      53
      707
    10. Muutto auto hakee sut tänään!

      Tein sulle oman huoneen! mieheltä naiselle
      Ikävä
      76
      639
    11. On todella ikävää

      Todella ikävää, että asiat ovat menneet tällaisiksi. Tämä ei ollut missään vaiheessa tarkoitukseni. Olen tehnyt virheit
      Ikävä
      79
      638
    12. Kiinni jäit

      Ei olisi uskonut sinusta
      Ikävä
      35
      611
    13. 44
      598
    14. Ottanet yhteyttä

      Facebookissa,jos on jotain asiaa.Miehelle! T.M-nainen.
      Ikävä
      55
      517
    15. Oletteko koskaan torjuneet kaivattuanne?

      Minä olen, kun en silloin tajunnut vielä ihastuneeni. Yritin paikata tapahtunutta, mutta ei onnistunut enää.
      Ikävä
      25
      477
    16. Kai sä mies ymmärrät..

      ..ettet jättänyt vaihtoahtoa. Tottakai toivon vielä, että pystyisit toimimaan niin että asiat korjaantuisivat. Vahvast
      Ikävä
      28
      462
    17. Hämmentävä hetki: TTK:sta pudonnut Johanna Puhakka lataa pettyneenä: "Sitä ei voi kieltää"

      Johanna Puhakka ja Jurijs Jurza Trosenko tippuivat Tanssii Tähtien Kanssa -kisasta. Suositussa viihdeohjelmassa nähtiin
      Tanssii tähtien kanssa
      14
      460
    18. Nyt ei enää ole

      Mitään mikä pitäisi mut hiljaa, kaikesta. Tämä on muutamalle henkilölle täällä.
      Ikävä
      35
      454
    19. En tiedä mitä sanoa

      Siksi en vastannut😔
      Ikävä
      33
      433
    20. Jos kaivattusi olisi

      Vieressäsi niin mitä tekisit?
      Ikävä
      40
      427
    Aihe