Memory ballooning er en teknik, som VMware anvender til dynamisk at justere mængden af fysisk hukommelse, der er allokeret til en virtuel maskine (VM) baseret på dens fremherskende hukommelseskrav. Dette muliggør mere effektiv udnyttelse af tilgængelige hukommelsesressourcer, især når flere VM'er kører samtidigt på en enkelt fysisk vært. Sådan fungerer VMware memory ballooning:
1. Hukommelsesreservation :Hver VM tildeles en bestemt mængde hukommelse, når den tændes, hvilket repræsenterer den minimumshukommelse, der kræves for, at VM'en kan fungere korrekt. Denne reserverede hukommelse kan ikke bruges af andre VM'er eller af værtsoperativsystemet.
2. Memory Ballooning Driver :VMware installerer en hukommelsesballondriver i hver gæste-VM. Denne driver fungerer som en mediator mellem gæsteoperativsystemet og VMware-hypervisoren, der administrerer allokering og frigivelse af hukommelse.
3. Hukommelsesmonitor :VMware-hypervisoren overvåger løbende hukommelsesbrugsmønstrene for hver VM og holder styr på mængden af aktiv og inaktiv hukommelse.
4. Hukommelsesinflation og -deflation :Hvis hypervisoren registrerer, at en VM underudnytter sin tildelte hukommelse, instruerer den hukommelsesballondriveren om at "oppuste" VM'ens hukommelsesballon. Dette skaber i det væsentlige et virtuelt hukommelseshul i VM'en, hvilket reducerer mængden af fysisk hukommelse, den opfatter som tilgængelig. Den frigivne fysiske hukommelse bliver tilgængelig for andre VM'er eller OS-processer.
5. Hukommelsestryk :Omvendt, hvis hypervisoren registrerer, at en VM oplever hukommelsestryk og kræver yderligere hukommelse, tømmer den VM'ens hukommelsesballon. Dette gendanner VM'ens opfattelse af tilgængelig hukommelse, så den får adgang til mere fysisk hukommelse, hvis det er nødvendigt.
6. Udnyttelse af VM-hukommelse :VM-gæsteoperativsystemet administrerer automatisk sin egen hukommelse, og det interagerer ikke direkte med hukommelsesballondriveren. Justeringerne af hukommelsesallokering er gennemsigtige for gæsteoperativsystemet og applikationerne.
Ved dynamisk at styre hukommelsesallokering gennem ballonkørsel sikrer VMware, at VM'er modtager tilstrækkelig hukommelse, når de har brug for det, samtidig med at det forhindrer hukommelsesoverallokering og forbedrer den overordnede ydeevne af det virtualiserede miljø.