web-dev-qa-db-fra.com

Comment puis-je limiter la bande passante d'accès au disque pour un invité de machine virtuelle?

J'ai une Virtualbox sur mon Ubuntu (hôte) qui sert peu de système d'exploitation invité Windows.
Parfois, la machine virtuelle Windows en cours d’exécution ouvre un accès massif au disque, ce qui me bloque dans mon environnement hôte. Je voudrais limiter la lecture/écriture de l'accès aux données sur le disque dur physique.

Comment puis-je le faire?

8
yossile

À partir de la version 4.0, nous pouvons limiter la bande passante de Virtual Box pour l'accès aux images de disque (voir Manuel de Virtual Box pour plus de détails)

Nous devons d'abord créer un groupe de bande passante (dans l'exemple ci-dessous, nommé "Limite" pour 20 Mo/s):

VBoxManage bandwidthctl "VM name" add Limit --type disk --limit 20M
VBoxManage storageattach "VM name" --storagectl "SATA" --port 0 --device 0 --type hdd
                                   --medium disk1.vdi --bandwidthgroup Limit
VBoxManage storageattach "VM name" --storagectl "SATA" --port 1 --device 0 --type hdd
                                   --medium disk2.vdi --bandwidthgroup Limit

Si vous obtenez cette erreur:

VBoxManage: error: Cannot register the hard disk '.../foo.vdi' {...} because a hard disk '.../foo.vdi' with UUID {...} already exists

puis remplacez le chemin d'accès à l'image disque par l'UUID indiqué dans l'erreur (les deux doivent être identiques), y compris le {}

Pour limiter davantage l’accès au disque à 10 Mo/s, nous pouvons ensuite émettre

VBoxManage bandwidthctl "VM name" set Limit --limit 10M 

Cela peut même être fait pendant l'exécution.

9
Takkat