VMware Global Community
ErreaIT
Contributor
Contributor

vm + memory, piccoli dubbi!

Scusate ma ho un piccolo dubbio... nel leggere qua e la come gestisce vmware la memoria host nei riguardi delle varie vm mi è capitato di leggere (vado a ricordo!) che una vm guest può superare la memoria massima allocata.

Da qui volevo chiedervi se ho capito bene alcune considerazioni....

ho un os guest VM1 con 4GB ram assegnata; in normale esercizio immagino che me ne usi ad es. 2, di queste 2 sicuramente qualcosa sarà in share memory con altre vm presenti, giusto? e sotto questo aspetto posso "giocare" alla voce resource allocation memory per variare lo shares tra normal, low, oppure variare il reservation se non ho intenzione di condividerla con altre, giusto?

Ammettiamo ora che per qualche processo particolare abbia "fame" di ram, VM1 potrebbe andare oltre i 4 GB? cioè potrebbe andare oltre al limite che gli ho assegnato alla voce hardware?

grazie.

0 Kudos
16 Replies
Tinto1970
Commander
Commander

non so se ho capito bene, comunque se assegni a una VM 4 GB di ram, per il sistema operativo guest è come se avesse a disposizione 4 GB di ram fisica e quindi di più non ne userà mai.

La memoria che si puo' sovraallocare è quella dell' host: puoi avere un host con 4 GB di ram e creare due VM con 3 GB l'una (sto esagerando): l'hypervisor cerchera' di soddisfare le richieste usando sharing, ballooning, swap....

--
Alessandro aka Tinto VCP-DCV 2023 | VVSPHT 2023 | VMCE 2024 | vExpert 2024 | Veeam Legend
please give me a "Kudo" if you find my answer useful
www.linkedin.com/in/tinivelli
my blog: https://blog.tinivelli.com
0 Kudos
ErreaIT
Contributor
Contributor

si su questo tuo esempio non avevo dubbi, io mi riferisco al fatto che abbia una vm di 4GB possa chiederne di più mentre è in attività.

Nell'esempio che ho posto poniamo di avere un host di 84GB.

Secondo le mie conoscenze a richiesta maggiore dovrebbe intervenire lo swap (della guest os) che poi ovviamente si traduce in i/o sulla san o dischi dell'host!

0 Kudos
Tinto1970
Commander
Commander

sì: a livello di guest se il s.o. ha bisogno usa lo swap, cioe' scrive su disco. Il disco è un .vmdk quindi ovviamente c'è lavoro per lo storage.

Detto questo non riesco ancora a capire la domanda... perché la VM dovrebbe usare più RAM di quella che gli allochi? E' vero che c'è un overhead usato dall'hypervisor ma è piccino, soprattutto in un host da 84GB.

--
Alessandro aka Tinto VCP-DCV 2023 | VVSPHT 2023 | VMCE 2024 | vExpert 2024 | Veeam Legend
please give me a "Kudo" if you find my answer useful
www.linkedin.com/in/tinivelli
my blog: https://blog.tinivelli.com
0 Kudos
ErreaIT
Contributor
Contributor

la domanda è proprio quella... può succedere che la VM prenda più ram rispetto a quella assegnata? purtroppo non trovo l'articolo che avevo letto, a questo punto credo di ricordare male.

Ma allora pongo un'altra domanda, a che serve la voce "limit"?

0 Kudos
Tinto1970
Commander
Commander

l'help dice

A virtual machine cannot benefit from more memory resources than its configured virtual hardware memory size. The ESX/ESXi host caps memory resource use to the maximum useful for the virtual machine, so you can accept the default of Unlimited memory resources.

--
Alessandro aka Tinto VCP-DCV 2023 | VVSPHT 2023 | VMCE 2024 | vExpert 2024 | Veeam Legend
please give me a "Kudo" if you find my answer useful
www.linkedin.com/in/tinivelli
my blog: https://blog.tinivelli.com
0 Kudos
ErreaIT
Contributor
Contributor

ok ma non capisco l'utilizzo dell'impostazione in limit se poi "comanda" cio che è stato impostato nell'hardware!

0 Kudos
Tinto1970
Commander
Commander

non ho mai usato queste impostazioni, posso immaginare che quel limite si possa impostare in caso si voglia far vedere al s.o. una certa RAM fisica ma limitarne il consumo a un livello inferiore.

Se è così, sono casi piuttosto particolari.

--
Alessandro aka Tinto VCP-DCV 2023 | VVSPHT 2023 | VMCE 2024 | vExpert 2024 | Veeam Legend
please give me a "Kudo" if you find my answer useful
www.linkedin.com/in/tinivelli
my blog: https://blog.tinivelli.com
0 Kudos
ErreaIT
Contributor
Contributor

scusa se insisto ma non sono d'accordo... infatti alla voce reservation c'è un indicatore che ti da il valore assegnato a livello hardware, al contrario alla voce limit puoi arrivare a quasi al 100% della memoria dell'host.

ci deve essere un altra spiegazione.

0 Kudos
DanieleB2011101
Enthusiast
Enthusiast

Ciao a tutti

prima di tutto spero di aver individuato correttamente la questione 😄

per quello che mi ricordo il limit fa riferimento all'utilizzo fisico delle risorse sull'host ovvero pone un cap sulle risorse disponibili su nodo che la vm in

questione può utilizzare ,questo spiegherebbe nel tuo caso l'utilizzo della swap del S.O virtuale dovuta ad un probabile applicativo (o servizio...)

che ha richiesto alla VM più memoria rispetto al limit configurato

0 Kudos
max_esprient
Enthusiast
Enthusiast

Provo a fare un po' chiarezza, non è detto che ci riesca:smileylaugh:

- Sulla prima domanda, è possibile far aumentare "a caldo" la memoria di una VM accesa attraverso la funzione Hot-Add disponibile solo sulle versioni Enterprise e Enterprise+ e funziona solo su determinati sistemi operativi. Questa funzione NON è automatica ma si può decidere che una VM accesa con 4 GB di vRAM possa passare a 8 senza doverla riavviare.

- Il parametro Limit della Memoria della VM coincide con la Memoria assegnata, ma si può decidere di mettere un valore più basso. In questo caso la VM potrà usare al massimo di RAM fisica del server, se disponibile, la quantità indicata dal valore di Limit. Nel caso in cui la VM voglia usare più memoria di quella indicata dal limit verrà forzato l'utilizzo del file vswp anche se c'è disponibile della RAM fisica. Io non lo uso molto.

My 2 cents

Max

0 Kudos
Tinto1970
Commander
Commander

grazie Max, direi che sia chiarissimo. Sul Limit è come l'avevo capito io (anche se non sono riuscito probabilmente a spiegarmi).

In effetti sembra una cosa assurda ma penso lo scenario di utilizzo sia quello in cui un applicativo 'antipatico' rifiuta di partire se non vede almeno TOT RAM fisica sulla VM. Però noi sappiamo che ne sfrutta molta meno quindi lo vogliamo "accontentare" senza effettivamente sprecare ram allocandola a una vm che non la sfrutta mai.

--
Alessandro aka Tinto VCP-DCV 2023 | VVSPHT 2023 | VMCE 2024 | vExpert 2024 | Veeam Legend
please give me a "Kudo" if you find my answer useful
www.linkedin.com/in/tinivelli
my blog: https://blog.tinivelli.com
0 Kudos
ErreaIT
Contributor
Contributor

ciao

@Daniele: da quello che dici mi confermi che se anche imposto ad es. a 4GB una VM lei può per motivi causati dal suo os. + prg o servizi prenderne di più! giusto?

@Massimiliano:  "Il parametro Limit della Memoria della VM coincide con la Memoria assegnata" ... ??? ma se guardi di default la voce limit è impostata come unlimited e in grigio viene indicato un valore che è quasi il tot. della ram fisica (reale) del nodo esx. Quindi se io voglio che la mia vm abbia 4BG di rma e solo quelli deve usare  devo impostarli sia alla voce hardwareche alla voce limit?

ciao

0 Kudos
max_esprient
Enthusiast
Enthusiast

Lascia perdere il Wizard, se è Unlimited arrivi al massimo di quella assegnata, una VM non può in autonomia aumentare la propria memoria, se un sistema operativo avrà bisogno di usare più memeria userà il suo pagefile

Max

0 Kudos
ErreaIT
Contributor
Contributor

ok ma concedimi questo dubbio: che senso ha per la vmware dare la possibilità di impostare un limite di memoria superiore (e anche di molto) rispetto a quella che si assegna nell'hardware se mi dici che le vm di più non possono prendere?  una "svista" dei loro programmatori?

ciao

0 Kudos
ldelloca
Virtuoso
Virtuoso

Serve come sistema di sicurezza, metti mai che a qualcuno scappi una configurazione sbagliata. Non ci fosse potresti impostare un valore molto superiore di memoria, e ESXi per soddisfare la richiesta dovrebbe utilizzare il suo swap, degradando in modo sensibile le performance e soprattutto anche quelle delle altre VM.

Ciao,

Luca.

Luca Dell'Oca | vExpert 2011-2012-2013-2014-2015-2016-2017, VCAP-DCD, CISSP #58353 | http://www.virtualtothecore.com | @dellock6 | http://www.linkedin.com/in/lucadelloca | If you find this post useful, please consider awarding points for "Correct" or "Helpful"
0 Kudos
DanieleB2011101
Enthusiast
Enthusiast

ciao

no una vm non può usare più memoria di quanto gli viene assegnata superato questo limite entrano in gioco i file di paging o swap (del S.O)

il limite che configuri non è relativo alla memoria della vm , ma relativo alle pagine di memoria che vengono schedulate sul nodo da quella macchina

0 Kudos