Hai riscontrato un processo denominato "Vmmem" nel Task Manager di Windows ? Consuma troppa CPU, RAM e altre risorse di sistema, questo ti preoccupa? Questo è un processo utilizzato da Windows per dimostrare quante risorse consuma una macchina virtuale.
Pertanto, se mostra un consumo eccessivo di CPU o RAM, è la causa dell'errore della macchina virtuale. In questo articolo, Quantrimang.com esplorerà questo processo in modo più dettagliato e ti mostrerà come ridurre il consumo di risorse.
Cosa fa il processo Vmmem?
Secondo un post su Microsoft DevBlogs, Windows crea un processo Vmmem per visualizzare le risorse consumate dalla macchina virtuale. Quando vedi questo processo consumare troppe risorse in Task Manager, la tua macchina virtuale sta effettivamente utilizzando queste risorse, questo processo agisce solo per la visualizzazione.
In genere, questo processo si verifica quando si esegue attivamente una macchina virtuale in Gestione Hyper-V o si utilizza WSL (sottosistema Windows per Linux) per eseguire eseguibili binari Linux. In generale, non dovrebbe sovraccaricare le tue risorse, ma quando lo fa, qualcosa non va.
Se noti un consumo elevato di risorse in Task Manager per questo processo, vedi cosa si può fare per risolverlo.
Per prima cosa, scopri qual è la causa del problema
Innanzitutto, determinare quale macchina virtuale o programma è responsabile dell'elevato consumo di risorse del processo Vmmem. Se esegui un solo gestore di macchine virtuali, troverai immediatamente la causa del problema. Tuttavia, se esegui contemporaneamente Virtual Machine Manager e WSL, dovrai determinare quale programma causa il problema.
Per scoprirlo, chiudi le macchine virtuali in Hyper-V Manager e verifica se ciò aiuta a ridurre il consumo di risorse. Allo stesso modo, puoi disabilitare gli strumenti WSL e vederne l'impatto.
Quando si chiude una macchina virtuale in Hyper-V Manager, il processo Vmmem scompare immediatamente da Task Manager, il che significa che il processo non consuma più risorse. Al contrario, quando si chiudono gli strumenti Linux o WSL, il processo Vmmem impiegherà del tempo per scomparire, quindi attendere un po' prima di valutare l'impatto della sua chiusura.
Una volta identificato il principale colpevole, fare riferimento alla guida seguente che spiega come ridurre il consumo di risorse della macchina virtuale in Hyper-V Manager e WSL.
Come ridurre il consumo di risorse della macchina virtuale in Hyper-V Manager
Se il processo Vmmem mostra un consumo elevato di risorse in Task Manager durante l'esecuzione di macchine virtuali in Hyper-V Manager, applicare prima i seguenti controlli preliminari:
- Accendi e spegni la tua macchina virtuale in Hyper-V Manager.
- Riavviare Hyper-V Manager dopo averlo chiuso.
- Se disponi di più macchine, esegui solo una macchina virtuale in Hyper-V Manager.
- Se stai utilizzando contemporaneamente un'altra applicazione della macchina virtuale con Hyper-V Manager, chiudila.
Se i controlli precedenti non riducono il consumo di risorse, è possibile verificare la quantità di risorse consumate dal processo Vmmem in Task Manager e limitare l'allocazione delle risorse della macchina virtuale in Hyper-V Manager. Ecco come:
- Avvia Gestione Hyper-V.
- Fai clic con il tasto destro sulla tua macchina virtuale e seleziona Impostazioni.
Apri le impostazioni della macchina virtuale in Hyper-V Manager
- Nella barra laterale sinistra, fai clic su Memoria.
- Imposta la quantità massima di RAM che la macchina virtuale può utilizzare.
- Deseleziona la casella Abilita memoria dinamica o limita la RAM dinamica che la macchina virtuale può utilizzare lì.
Modificare l'allocazione di memoria della macchina virtuale tramite la finestra delle impostazioni in Gestione Hyper-V
Allo stesso modo, puoi modificare altri parametri per limitare la macchina virtuale a utilizzare solo risorse specificate e non esercitare pressione sul tuo computer. Se la regolazione di queste impostazioni non aiuta a ridurre il consumo di risorse, puoi abbandonare Hyper-V Manager e utilizzare un altro gestore di macchine virtuali, come VirtualBox o VMware .
La maggior parte dei gestori virtuali di terze parti mostra il consumo di memoria in Task Manager utilizzando processi diversi dal processo Vmmem. Ad esempio, VMWare utilizza un processo denominato VMware-vmx.exe. Pertanto, tienili d'occhio e, se consumano troppe risorse, limita l'allocazione di memoria o applica le correzioni menzionate per Hyper-V Manager.
Come ridurre il consumo di risorse utilizzando gli strumenti WSL e Linux
A seconda della build di Windows, WSL potrebbe avere l'autorizzazione a utilizzare dal 50% all'80% della RAM, come spiegato nella documentazione di Microsoft. Pertanto, potete immaginare quanto possa essere il consumo di risorse, che è esattamente ciò che il processo Vmmem cerca di dimostrare.
Se l'esecuzione del sottosistema Windows per Linux o di strumenti Linux specifici comporta un consumo elevato di risorse, come mostrato nel processo Vmmem, è possibile recuperare memoria e risolvere il problema seguendo questi passaggi dopo:
1. Riavvia WSL manualmente
Uno dei modi più semplici per gestire il consumo elevato di risorse da parte degli strumenti WSL o Linux è semplicemente riavviarli. Quindi dovresti chiudere manualmente tutti gli strumenti Linux che hai aperto in questo momento, incluso WSL stesso.
Aspetta un po' e vedi se il processo Vmmem smette di mostrare un enorme consumo di risorse dopo. In tal caso, riavvia le distribuzioni WSL e verifica se il processo Vmmem si comporta allo stesso modo. In tal caso, salta il secondo metodo e applica il terzo metodo.
Tuttavia, se chiudi WSL manualmente e non interrompe il processo Vmmem in Task Manager, devi disattivarlo. Nella prossima correzione, l'articolo spiegherà come funziona.
2. Forza la chiusura di WSL e riavvialo
Per forzare la chiusura di WSL, attenersi alla seguente procedura:
Forza la chiusura del WSL
Riavviare successivamente la distribuzione WSL. Se il riavvio di WSL non risolve il problema, procedere alla correzione successiva.
3. Limitare manualmente le risorse per WSL
WSL può anche essere limitato nelle risorse utilizzate in modo da non sovraccaricare il sistema con richieste di risorse. Puoi farlo solo con WSL 2, che funziona solo su build Windows successive alla 19041. Consulta l'articolo di Quantrimang.com su come installare WSL 2 su Windows se non l'hai ancora fatto.
Se la tua build di Windows supporta WSL 2 e lo hai installato, puoi limitarne le risorse seguendo questi passaggi:
- Esegui il prompt dei comandi di Windows con diritti di amministratore.
- Digitare "wsl –shutdown" e premere Invio.
- Chiudi il prompt dei comandi di Windows.
- Apri WSL.
- Dopo aver sostituito il tuo nome utente, inserisci il seguente comando:
editor "$(wslpath "C:\Users\YourUsername\.wslconfig")"
Limite risorse WSL 2
- Inserisci la seguente configurazione: [wsl2] memory=5GB (limite basato sulla dimensione della RAM)
- Premi CTRL+X .
- Premere "Y" quando viene richiesto di salvare le modifiche.
Salvare le modifiche
- Conferma la posizione premendo nuovamente Invio .
- Ripetere i passaggi da 1 a 3.
- Esegui il comando seguente dopo aver riavviato WSL per verificare che le risorse siano state allocate correttamente.
free -h --giga
Conferma che la risorsa è stata allocata correttamente
Con i passaggi precedenti, puoi limitare l'utilizzo delle risorse di WSL in modo da non sovraccaricare il tuo computer.
È possibile terminare il processo Vmmem?
Task Manager non ti consente di chiudere il processo Vmmem come normali attività. Se provi a farlo, riceverai un errore. Per terminare il processo Vmmem, è necessario chiudere le macchine virtuali e WSL o uno qualsiasi dei suoi strumenti Linux.
Non lasciare che le macchine virtuali consumino le tue risorse!
I suggerimenti menzionati nell'articolo ti aiuteranno a limitare il consumo delle risorse della macchina virtuale. Dopo averlo fatto, il processo Vmmem non consumerà risorse elevate in Task Manager.
La scelta di un eccellente gestore di macchine virtuali è essenziale per eseguire le macchine virtuali in modo efficiente. Un gestore di macchine virtuali affidabile ti fornirà prestazioni ottimali, cosa che un normale gestore di macchine virtuali non farà.