10 berichten aan het bekijken - 1 tot 10 (van in totaal 10)
  • Q:
    Bijdrager
    virusbeatbox

    VMWare Fusion zorgt voor overload inactive memory

    Beste,

    Ik heb een 13″ MBP 2010, 2.3 GHz Intel Core i5 met 8GB RAM en OS X Lion.
    Nu heb ik ook VMWare Fusion 4.1.4 met daarom W7 Home Edition 64bit geïnstalleerd. Deze draait op 1core met 2GB toegekend. Nu merk ik dat het inactief geheugen razendsnel volloopt! Ik heb eens aan 4GB inactief RAM geheugen gezeten waardoor alles trager begint te lopen.

    Ik heb hierover reeds opzoekingswerk gedaan maar nooit echt een oplossing gevonden. Zijn er hier mensen die de ervaring en kennis hebben om uit te leggen waaraan dit kan liggen en daadwerkelijk een oplossing kunnen bieden?

    Alvast bedankt!

    Moderator
    unSOUND

    Van inactief Ram hoort een machine helemaal niet trager te worden. Inactief betekend dat het systeem het gewoon mag uitdelen aan een ander programma, als dat andere programma er om vraagt.

    Bijdrager
    KarelWillem

    Ik heb geen enkel verstand van geheugenbeheer.

    Maar weet wel dat na het gebruik van VMWare (5) met Windows 8, mijn iMac niet meer vooruit te trappen is.
    En dat alleen een herstart nog helpt om de boel weer op gang te krijgen.

    En ja, ik sluit Windows keurig af, en sluit pas daarna VMWare.

    Bijdrager
    nervus

    Dergelijke memory leaks werden al eerder beschreven. Niet veel aan te doen door de eindgebruiker.

    Bijdrager
    mfduffel

    In vmware fusion kan je bij de instellingen van je virtuele machine, in het tabblad advanced ‘hard disk buffering’ wijzigen.
    Indien enabled of automatic, gebruikt het programma het inactief geheugen als hd buffering. Dit zorgt voor snelheidswinst van je virtuele machine, en het inactieve geheugen heb je toch niet onmiddellijk nodig. (Wordt vrijgegeven zodra je bv. een programma opstart)

    Bijdrager
    iep
    nervus op 08 oktober 2013

    Dergelijke memory leaks werden al eerder beschreven. Niet veel aan te doen door de eindgebruiker.

    Dan heb je niet gelezen waar je naar linkt en weet je ook niet wat een memory leak is. Dit gaat om inactief geheugen wat door iedere app die wil draaien/draait gebruikt mag worden (inactief geheugen is gewoon geheugen dat niet meer in gebruik is maar nog even geparkeerd wordt voor het geval dat je de app nog een keer gaat gebruiken, dan is die wat sneller gestart e.d.). En dat is nou exact wat een memory leak NIET is. Alleen wanneer een applicatie steeds meer geheugen gebruikt zonder dit terug te geven is er sprake van een memory leak.

    De conclusie in dat topic is ook dat dit niets met Fusion te maken heeft en dat dit eerder in OS X zelf gezocht moet worden. Niet zo heel erg raar want het VMware Fusion proces doet ook niet erg veel. Het enige wat dit is, is de GUI e.d. waarmee je de vm’s kunt draaien. Als je wil zien wat een vm doet zul je in Activity Monitor moeten zoeken naar de processen genaamd vmware-vmx. Dat zijn namelijk de vm’s. Helaas kun je niet zien welke vm het precies is. Bij Fusion horen daarnaast ook nog diverse andere processen die zorgen voor het netwerk verhaal en een aantal andere zaken. Op Linux en Windows werkt dit niet anders met VMware Workstation en Player trouwens. In Windows is het GUI gedeelte zelfs nog 32 bit terwijl de rest 64 bit is. Dit heeft Fusion ook nog een tijdje gehad.
    Buffering zoals mfduffel aangeeft is het in dit geval ook niet omdat VMware standaard unbuffered I/O gebruikt voor Windows Vista en hoger. Bij unbuffered I/O wordt er geen geheugen gebruikt.

    Als je virtualiseert zijn er 2 dingen heel belangrijk: de schijf en het geheugen. Een goede performance krijg je wanneer je een snelle schijf en genoeg geheugen gebruikt. Bij het draaien van 1 vm is dat niet zo heel erg te merken maar zodra je er 2 of meer gaat draaien is het effect nogal dramatisch. Performance problemen zul je doorgaans dan ook alleen zien wanneer je vm’s draait, niet wanneer ze uit staan en ook niet nadat je Fusion hebt afgesloten. In dit geval lijkt het eerder dat OS X niet goed kan omgaan met het teruggegeven geheugen.

    De oplossing in dit geval is leren hoe geheugenmanagement van een operating system in elkaar steekt (en dan die van OS X in het bijzonder). Dan snap je wat er gaande is, waarom en dat je vooral geen zorgen moet gaan maken omdat het getalletje bij “free” zo laag is. Getalletjes zijn leuk maar het is dan wel zo fijn dat je ook weet wat ze betekenen. Het opsporen van geheugenproblemen is ook een enorm technische aangelegenheid (je kunt het met een tooltje genaamd dtrace, of Instruments als je een GUI voor dtrace wil).

    Bijdrager
    mfduffel

    Kan zijn dat ik fout ben, maar het heeft wel te maken met vmware fusion. Bij gebruik van dit programma stijgt bij mij ook het inactive memory tot 7 of 8 GB.
    Maar ik heb er totaal geen problemen mee (er is hier vroeger nog een topic over geweest).

    Bijdrager
    iep

    Nee, dat is een veel te simpele aanname (beetje zoals het concluderen dat het om een hond gaat als iets 4 poten een staart heeft terwijl er legio mogelijkheden zijn). Fusion is een applicatie dat veelvuldig gebruik maakt van het geheugen dus is de kans ook veel groter dat je daar tegen problemen aan loopt als er iets met het geheugen is (brakke module, slecht geheugenbeheer van het OS, etc.). Je zult dus moeten onderzoeken wat er precies met het geheugen gebeurd wil je überhaupt vast kunnen stellen of het Fusion is of niet (dat doe je o.a. met tools als dtrace maar ook door een blik in de logs te werpen; logs van zowel Fusion, de vm en OS X). Het kan namelijk ook een bug in het OS zelf zijn (in het verleden zijn er genoeg geweest voor OS X wat geheugenbeheer betreft).

    Daarnaast scheelt het ook als je weet wat het geheugenbeheer van OS X inhoudt. Iets als inactive memory is totaal nietszeggend. Ik zit hier momenteel ook met 5,5GB aan inactief geheugen. Die hoeveelheid zal gaan stijgen naarmate ik mijn machine langer aan laat staan en er meer apps op open en sluit. Dat is hartstikke normaal geheugengebruik. Problemen zie ik hier dan ook niet, performance is gewoon goed. De meeste mensen die denken een geheugenprobleem te hebben, hebben dat niet. Zij hebben een kennisprobleem: ze weten niet hoe het geheugenbeheer van hun OS in elkaar steekt en daardoor ook niet hoe ze de statistieken moeten aflezen. Dat leidt tot verkeerde conclusies. Dat er veel inactief geheugen wordt gebruikt is ook niet erg, het laat hoogstens zien dat het geheugen wat meer in beweging is gekomen. Wanneer je echter performance problemen hebt worden dit soort zaken enigszins interessant.

    Bijdrager
    mfduffel

    Akkoord dat inactive memory geen probleem is. Maar wat ik wil zeggen:
    Als ik m’n imac opstart (fresh start) een virtuele machine opstart, vervolgens in die virtuele machine programma’s open, defragmenteer of andere dingen doe, groeit het inactief geheugen tot 7 of 8 GB. In die zin zorgt vmware fusion voor inactief geheugen. Het toegewezen geheugen blijft netjes rond de 4GB hangen, zoals in de instellingen van de vm is bepaald. als ik vmware sluit, zakt zelfs het inactief geheugen.
    Het maakt mij wel nieuwsgierig naar de oorzaak.

    Bijdrager
    iep

    Wat Fusion doet is geheugen gebruiken. Als het daarmee klaar is geeft het dat terug aan het OS wat geheel volgens afspraak is (om het maar eens zo uit te drukken :)). Het geheugen wat bedoelt is voor de vm wordt echter altijd volledig in gebruik genomen en zal niet veranderen. Als je dat anders zou doen levert dat gigantisch veel problemen op voor de vm; die zal dan heel vaak crashen.

    Op mijn Macs zie ik overigens geen grote toename in inactief geheugen als ik Fusion draai. Wat ik daar eerder zie is een afname en dat is niet zo raar. Als ik vm’s aan zet dan wordt de hoeveelheid geheugen (plus een beetje overhead) die ik heb toegewezen aan de vm volledig gereserveerd. Dat gaat dus van het inactieve geheugen af (onder andere!). Sluit ik een vm dan wordt deze gesuspend en zie ik een kleine toename in inactief geheugen. Precies zoals het geheugenmanagement in OS X behoort te werken. Wat geheugenmanagement betreft zijn de VMware producten meester. Ze zijn ontzettend efficiënt, de concurrentie kan ze op dit vlak moeilijk kloppen. Sta overigens niet versteld dat de swap gebruikt wordt, ook dat is normaal.

    Mocht je weten hoe OS X precies z’n geheugenbeheer doet dan is het volgende technische artikel een aanrader: About the Virtual Memory System. Een wat simpelere uitleg die meer van toepassing is op de vraag “hoe interpreteer ik de waarden in Activiteitenweergave?” is het volgende artikel: Using Activity Monitor to read System Memory and determine how much RAM is being used. Zoals je daar kunt lezen is inactief geheugen eigenlijk alleen van toepassing als je een applicatie afsluit, dus niet als het al draait. Als het al draait heb je wired en active (in dit geval is het geheugen wat je aan de vm toewijst wired omdat dit anders problemen oplevert).

    Er zijn wat berichten van mensen die van Lion naar Mountain Lion zijn geupgrade en die sindsdien ook geen last meer hebben van een toenemende hoeveelheid inactief geheugen. Een ander aantal mensen draait het commando “purge” in Terminal om zo het probleem op te lossen (dat doet het niet echt want het schrijft alles naar de schijf, je systeem zal even een tijdje sloom zijn).

10 berichten aan het bekijken - 1 tot 10 (van in totaal 10)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.